Best JavaScript code snippet using wpt
BigDecimal.ts
Source:BigDecimal.ts
1export default class BigDecimal {2 // to preserve trailing zeroes in exponent, 'value' should be of String type3 constructor(value: any) {4 var originalValue: string = value.toString().trim();5 if (!value.toString().includes('e')) {6 // simplified parsing that allows to preserve exponent precision (e.g. 0.2000 instead of 0.2)7 value = value.toString().trim().split('.');8 if (value.length > 1) {9 this.scale = value[1].length;10 this.intCompact = parseInt(value[0].concat(value[1]));11 } else {12 this.scale = 0;13 this.intCompact = parseInt(value[0]);14 }15 } else {16 // for scientific notation; saving exponent precision is not possible here17 value = parseFloat(value).toString().trim().split('e');18 var base: string = value[0];19 var exponent: number = 0;20 if (value.length > 1) {21 exponent = parseInt(value[1]);22 }23 value = base.toString().split('.');24 if (value.length > 1) {25 this.scale = value[1].length - exponent;26 this.intCompact = parseInt(value[0].concat(value[1]));27 } else {28 this.scale = -exponent;29 this.intCompact = parseInt(value[0]);30 }31 }32 this.precision = this.calculateIntegerLength();33 this.stringifiedValue = this.stringifyIntCompact(originalValue);34 }35 intCompact: number;36 precision: number;37 scale: number;38 stringifiedValue: string;39 calculateIntegerLength(): number {40 var value: number = Math.abs(this.intCompact);41 if (value == 0) {42 return 1;43 }44 return Math.floor(Math.log10(value)) + 1;45 }46 calculateExponentLength(value: number): number {47 value = Math.abs(value);48 var e: number = 1;49 while ((Math.round(value * e) / e) !== value) {50 e *= 10;51 }52 return Math.round(Math.log(e) / Math.LN10);53 }54 signum(): number {55 var intCompact = this.intCompact;56 return intCompact > 0 ? 1 : 1 / intCompact == 1 / +0 ? 0 : -1;57 }58 negate(): BigDecimal {59 this.intCompact = -this.intCompact;60 return this;61 }62 shiftLeft(amount: number): BigDecimal {63 var stringifiedValue: string = this.stringifiedValue;64 var stringifiedInt: string = this.getStringifiedInt();65 var stringifiedRemainder: string = this.getStringifiedRemainder();66 var pointIndex: number = this.getActualIntegerLength() - amount;67 if (amount == 0) {68 } else if (pointIndex == 0) {69 stringifiedValue = "0".concat(stringifiedInt, stringifiedRemainder);70 } else if (pointIndex > 0) {71 stringifiedValue = stringifiedInt.slice(0, pointIndex).concat(".", stringifiedInt.slice(pointIndex), stringifiedRemainder);72 } else {73 var additionalZeroes: string = "";74 for (var i: number = pointIndex; i < 0; i++) {75 additionalZeroes = additionalZeroes.concat("0");76 }77 stringifiedValue = "0".concat(additionalZeroes, stringifiedInt, stringifiedRemainder);78 }79 return new BigDecimal(stringifiedValue);80 }81 integer(): BigDecimal {82 return new BigDecimal(this.getStringifiedInt());83 }84 remainder(): BigDecimal {85 return new BigDecimal('0.'.concat(this.getStringifiedRemainder()));86 }87 getActualExponentLength(): number {88 return this.getStringifiedRemainder().length;89 }90 getActualIntegerLength(): number {91 return this.getStringifiedInt().length;92 }93 removeExponent(removeTrailingZero?: boolean): BigDecimal {94 var stringifiedRemainder: string = this.getStringifiedRemainder();95 if (removeTrailingZero) {96 if (stringifiedRemainder[stringifiedRemainder.length - 1] == '0') {97 stringifiedRemainder = stringifiedRemainder.slice(0, -1);98 }99 }100 return new BigDecimal(stringifiedRemainder);101 }102 getIntCompact(): number {103 return this.intCompact;104 }105 stringifyIntCompact(value: any): string {106 var stringifiedValue: any = value.toString();107 if (stringifiedValue.charCodeAt(0) == 45) {108 stringifiedValue = stringifiedValue.slice(1);109 }110 var scale: number = 0;111 // scientific notation112 if (stringifiedValue.includes('e')) {113 stringifiedValue = stringifiedValue.split('e');114 scale -= parseInt(stringifiedValue[1]);115 stringifiedValue = stringifiedValue[0];116 }117 if (stringifiedValue.includes('.')) {118 stringifiedValue = stringifiedValue.split('.');119 scale = parseInt(stringifiedValue[1].length) + scale;120 stringifiedValue = stringifiedValue[0].concat(stringifiedValue[1]);121 }122 if (scale < 0) {123 for (var i: number = 0; i > scale; i--) {124 stringifiedValue = stringifiedValue.concat('0');125 }126 stringifiedValue = stringifiedValue.concat('.0');127 } else if (scale == 0) {128 stringifiedValue = stringifiedValue.concat('.0');129 } else {130 var precision: number = stringifiedValue.length;131 scale = precision - scale;132 if (scale > 0) {133 var integerPart: string = stringifiedValue.slice(0, scale);134 var decimalPart: string = stringifiedValue.slice(scale);135 stringifiedValue = integerPart.concat('.').concat(decimalPart);136 } else {137 for (var i: number = 0; i > scale; i--) {138 stringifiedValue = '0'.concat(stringifiedValue);139 }140 stringifiedValue = '0.'.concat(stringifiedValue);141 }142 }143 return stringifiedValue;144 }145 toPlainString(): string {146 var delimeter: number = this.precision - this.scale;147 var valStr: string = this.intCompact.toString();148 var integer: string = valStr.slice(0, delimeter);149 var remainder: string = valStr.slice(delimeter);150 return integer.concat('.').concat(remainder);151 }152 getActualInt(): number {153 return parseInt(this.getStringifiedInt());154 }155 getStringifiedInt(): string {156 return this.stringifiedValue.split('.')[0];157 }158 getStringifiedRemainder(): string {159 return this.stringifiedValue.split('.')[1];160 }...
Output.js
Source:Output.js
1import React from "react";2import PropTypes from "prop-types";3import { connect } from "react-redux";4import styled from "@emotion/styled";5import {6 stringifySpeed,7 stringifyPace,8 stringifyTime,9 stringifyDistance10} from "utils";11import { PACE, SPEED, TIME, DISTANCE } from "state/constants";12import { getFieldValue, getTotalField } from "state/selectors";13import { UnitStyle } from "styles";14const Output = ({ segmentId = null, type, content }) => {15 let stringifiedValue = null;16 let label = null;17 let unit = null;18 switch (type) {19 case SPEED.type:20 stringifiedValue = stringifySpeed(content);21 label = SPEED.label;22 unit = SPEED.unit;23 break;24 case PACE.type:25 stringifiedValue = stringifyPace(content);26 label = PACE.label;27 unit = PACE.unit;28 break;29 case TIME.type:30 stringifiedValue = stringifyTime(content);31 label = TIME.label;32 unit = TIME.unit;33 break;34 case DISTANCE.type:35 stringifiedValue = stringifyDistance(content);36 label = DISTANCE.label;37 unit = DISTANCE.unit;38 break;39 default:40 stringifiedValue = content;41 }42 return (43 <Container>44 <Box>45 <Label>{label}</Label>46 <Result>47 <Value>{stringifiedValue}</Value>48 {!(type === TIME.type) && <Unit> {unit}</Unit>}49 </Result>50 </Box>51 </Container>52 );53};54Output.propTypes = {55 segmentId: PropTypes.number,56 type: PropTypes.oneOf([TIME.type, SPEED.type, PACE.type, DISTANCE.type]),57 content: PropTypes.oneOfType([58 PropTypes.number,59 PropTypes.exact({60 min: PropTypes.number,61 sec: PropTypes.number62 }),63 PropTypes.exact({64 h: PropTypes.number,65 min: PropTypes.number,66 sec: PropTypes.number67 })68 ])69};70const Container = styled.div`71 display: flex;72 margin: auto 1em auto 0;73 flex: auto;74`;75const Box = styled.div`76 display: flex;77 flex-direction: column;78 margin: auto;79`;80const Label = styled.span`81 color: ${({ theme }) => theme.color.secondary};82 text-transform: uppercase;83 font-size: 0.75em;84 font-family: "Spartan", sans-serif;85`;86const Result = styled.div`87 white-space: nowrap;88`;89const Value = styled.span`90 color: ${({ theme }) => theme.color.lightGrey};91 font-weight: 700;92 font-size: 1.2em;93`;94const Unit = styled.span`95 ${({ theme }) => UnitStyle(theme)}96`;97function mapStateToProps(state, ownProps) {98 return {99 content:100 typeof ownProps.segmentId === "number"101 ? getFieldValue(state, ownProps.segmentId, ownProps.type)102 : getTotalField(state, ownProps.type).value103 };104}...
property-parsing-test.js
Source:property-parsing-test.js
1// Copyright 2014 The Chromium Authors. All rights reserved.2// Use of this source code is governed by a BSD-style license that can be3// found in the LICENSE file.4// testharness.js and testharnessreport.js need to be included first5// Properties should be given in camelCase format6function convert_to_dashes(property) {7 return property.replace(/[A-Z]/g, function(letter) {8 return "-" + letter.toLowerCase();9 });10}11function assert_valid_value(property, value, serializedValue) {12 if (arguments.length != 3)13 serializedValue = value;14 stringifiedValue = JSON.stringify(value);15 test(function(){16 assert_true(CSS.supports(convert_to_dashes(property), value));17 }, "CSS.supports('" + property + "', " + stringifiedValue + ") should return true");18 test(function(){19 var div = document.createElement('div');20 div.style[property] = value;21 assert_not_equals(div.style[property], "");22 }, "e.style['" + property + "'] = " + stringifiedValue + " should set the value");23 test(function(){24 var div = document.createElement('div');25 div.style[property] = value;26 var readValue = div.style[property];27 assert_equals(readValue, serializedValue);28 div.style[property] = readValue;29 assert_equals(div.style[property], readValue);30 }, "Serialization should round-trip after setting e.style['" + property + "'] = " + stringifiedValue);31}32function assert_invalid_value(property, value) {33 stringifiedValue = JSON.stringify(value);34 test(function(){35 assert_false(CSS.supports(convert_to_dashes(property), value));36 }, "CSS.supports('" + property + "', " + stringifiedValue + ") should return false");37 test(function(){38 var div = document.createElement('div');39 div.style[property] = value;40 assert_equals(div.style[property], "");41 }, "e.style['" + property + "'] = " + stringifiedValue + " should not set the value");...
parsing-testcommon.js
Source:parsing-testcommon.js
1'use strict';2function test_valid_value(property, value, serializedValue) {3 if (arguments.length < 3)4 serializedValue = value;5 var stringifiedValue = JSON.stringify(value);6 test(function(){7 var div = document.createElement('div');8 div.style[property] = value;9 assert_not_equals(div.style[property], "");10 }, "e.style['" + property + "'] = " + stringifiedValue + " should set the property value");11 test(function(){12 var div = document.createElement('div');13 div.style[property] = value;14 var readValue = div.style[property];15 assert_equals(readValue, serializedValue);16 div.style[property] = readValue;17 assert_equals(div.style[property], readValue);18 }, "Serialization should round-trip after setting e.style['" + property + "'] = " + stringifiedValue);19}20function test_invalid_value(property, value) {21 var stringifiedValue = JSON.stringify(value);22 test(function(){23 var div = document.createElement('div');24 div.style[property] = value;25 assert_equals(div.style[property], "");26 }, "e.style['" + property + "'] = " + stringifiedValue + " should not set the property value");...
Using AI Code Generation
1var table = new wptbTable( 'table' );2var stringifiedValue = table.stringifiedValue;3var table = new wptbTable( 'table' );4var stringifiedValue = table.stringifiedValue;5var table = new wptbTable( 'table' );6var stringifiedValue = table.stringifiedValue;7table.update( stringifiedValue );8var table = new wptbTable( 'table' );9table.destroy();10var table = new wptbTable( 'table' );11table.addRow();12var table = new wptbTable( 'table' );13table.addColumn();14var table = new wptbTable( 'table' );15table.deleteRow();16var table = new wptbTable( 'table' );17table.deleteColumn();
Using AI Code Generation
1var wpt = require('webpagetest');2var wpt = new WebPageTest('www.webpagetest.org', 'A.3b6c1f8d8f9d9d6b9c6e7e8b2c6d7f6');3 if (err) return console.log(err);4});5### getLocations(callback)6var wpt = require('webpagetest');7var wpt = new WebPageTest('www.webpagetest.org', 'A.3b6c1f8d8f9d9d6b9c6e7e8b2c6d7f6');8wpt.getLocations(function(err, data) {9 if (err) return console.log(err);10});11### getTesters(callback)12var wpt = require('webpagetest');13var wpt = new WebPageTest('www.webpagetest.org', 'A.3b6c1f8d8f9d9d6b9c6e7e8b2c6d7f6');14wpt.getTesters(function(err, data) {15 if (err) return console.log(err);16});17### getTestStatus(testId, callback)18var wpt = require('webpagetest');19var wpt = new WebPageTest('www.webpagetest.org', 'A.3b6c1f8d8f9d9d6b9c6
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!