Best JavaScript code snippet using wpt
for-in-special-cases.js
Source:for-in-special-cases.js
1// Copyright 2008 the V8 project authors. All rights reserved.2// Redistribution and use in source and binary forms, with or without3// modification, are permitted provided that the following conditions are4// met:5//6// * Redistributions of source code must retain the above copyright7// notice, this list of conditions and the following disclaimer.8// * Redistributions in binary form must reproduce the above9// copyright notice, this list of conditions and the following10// disclaimer in the documentation and/or other materials provided11// with the distribution.12// * Neither the name of Google Inc. nor the names of its13// contributors may be used to endorse or promote products derived14// from this software without specific prior written permission.15//16// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS17// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT18// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR19// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT20// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,21// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT22// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,23// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY24// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT25// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE26// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.27// Flags: --expose-gc28function for_in_null() {29 try {30 for (var x in null) {31 return false;32 }33 } catch(e) {34 return false;35 }36 return true;37}38function for_in_undefined() {39 try {40 for (var x in undefined) {41 return false;42 }43 } catch(e) {44 return false;45 }46 return true;47}48for (var i = 0; i < 10; ++i) {49 assertTrue(for_in_null());50 gc();51}52for (var j = 0; j < 10; ++j) {53 assertTrue(for_in_undefined());54 gc();55}56assertEquals(10, i);57assertEquals(10, j);58function Accumulate(x) {59 var accumulator = [];60 for (var i in x) {61 accumulator.push(i);62 }63 return accumulator;64}65for (var i = 0; i < 3; ++i) {66 assertEquals(Accumulate("abcd"), ['0', '1', '2', '3']);67}68function for_in_string_prototype() {69 var x = new String("abc");70 x.foo = 19;71 function B() {72 this.bar = 5;73 this[7] = 4;74 }75 B.prototype = x;76 var y = new B();77 y.gub = 13;78 var elements = Accumulate(y);79 var elements1 = Accumulate(y);80 // If for-in returns elements in a different order on multiple calls, this81 // assert will fail. If that happens, consider if that behavior is OK.82 assertEquals(elements, elements1, "For-in elements not the same both times.");83 assertEquals(["7","bar","gub","0","1","2","foo"], elements)84 assertEquals(['0', '1', '2', 'foo'], Accumulate(x))85}86for_in_string_prototype();87for_in_string_prototype();88(function for_in_dictionary_prototype_1() {89 let prototype1 = {prop: 0, prop1: 1};90 let derived1 = Object.create(null, {91 prop: {enumerable: false, configurable: true, value: 0},92 });93 Object.setPrototypeOf(derived1, prototype1);94 let prototype2 = {prop: 0, prop1: 1};95 let derived2 = Object.create(prototype2, {96 prop: {enumerable: false, configurable: true, value: 0},97 });98 for (let i = 0; i < 3; i++) {99 assertEquals(['prop1'], Accumulate(derived1));100 assertEquals(['prop1'], Accumulate(derived2));101 }102})();103(function for_in_dictionary_prototype_2() {104 let prototype1 = {prop: 0, prop1: 1};105 let derived1 = Object.create(null, {106 prop: {enumerable: false, configurable: true, value: 1},107 prop2: {enumerable: true, configurable: true, value: 2},108 prop3: {enumerable: false, configurable: true, value: 3},109 });110 Object.setPrototypeOf(derived1, prototype1);111 let prototype2 = {prop: 0, prop1: 1};112 let derived2 = Object.create(prototype2, {113 prop: {enumerable: false, configurable: true, value: 0},114 prop2: {enumerable: true, configurable: true, value: 2},115 prop3: {enumerable: false, configurable: true, value: 3},116 });117 for (let i = 0; i < 3; i++) {118 assertEquals(['prop2', 'prop1'], Accumulate(derived1));119 assertEquals(['prop2', 'prop1'], Accumulate(derived2));120 }121})();122(function for_in_prototype_itself_change() {123 let prototype1 = {prop: 0, prop1: 1};124 let derived1 = {prop2: 2, prop3: 3};125 Object.setPrototypeOf(derived1, prototype1);126 for (let i = 0; i < 3; i++) {127 assertEquals(['prop2', 'prop3', 'prop', 'prop1'], Accumulate(derived1));128 }129 prototype1.prop3 = 3;130 let derived2 = {prop4: 4, prop5: 5};131 Object.setPrototypeOf(derived2, prototype1);132 for (let i = 0; i < 3; i++) {133 assertEquals(['prop4', 'prop5', 'prop', 'prop1', 'prop3'], Accumulate(derived2));134 }135})();136(function for_in_prototype_change_property() {137 let prototype1 = {prop: 0, prop1: 1};138 let derived1 = {prop2: 2, prop3: 3};139 Object.setPrototypeOf(derived1, prototype1);140 for (let i = 0; i < 3; i++) {141 assertEquals(['prop2', 'prop3', 'prop', 'prop1'], Accumulate(derived1));142 }143 prototype1.__proto__ = {prop4: 4, prop5: 5};144 for (let i = 0; i < 3; i++) {145 assertEquals(['prop2', 'prop3', 'prop', 'prop1', 'prop4', 'prop5'], Accumulate(derived1));146 }147 derived1.__proto__ = {prop6: 6, prop7: 7};148 for (let i = 0; i < 3; i++) {149 assertEquals(['prop2', 'prop3', 'prop6', 'prop7'], Accumulate(derived1));150 }151})();152(function for_in_prototype_change_element1() {153 let prototype1 = {prop: 0, prop1: 1};154 let derived1 = {prop2: 2, prop3: 3};155 Object.setPrototypeOf(derived1, prototype1);156 for (let i = 0; i < 3; i++) {157 assertEquals(['prop2', 'prop3', 'prop', 'prop1'], Accumulate(derived1));158 }159 prototype1[0] = 4;160 for (let i = 0; i < 3; i++) {161 assertEquals(['prop2', 'prop3', '0', 'prop', 'prop1'], Accumulate(derived1));162 }163 derived1.__proto__ = {1: 1, 3: 3};164 for (let i = 0; i < 3; i++) {165 assertEquals(['prop2', 'prop3', '1', '3'], Accumulate(derived1));166 }167})();168(function for_in_prototype_change_element2() {169 Array.prototype.__proto__ = {'A': 1};170 let array = ['a', 'b', 'c', 'd', 'e'];171 for (let i = 0; i < 3; i++) {172 assertEquals(['0', '1', '2', '3', '4', 'A'], Accumulate(array));173 }174 Array.prototype[10] = 'b';175 for (let i = 0; i < 3; i++) {176 assertEquals(['0', '1', '2', '3', '4', '10', 'A'], Accumulate(array));177 }178})();179(function for_in_prototype_change_element3() {180 let prototype = {prop: 0};181 let holey_array = {182 1: 'a',183 get 3() {184 delete this[5];185 return 'b';186 },187 5: 'c'188 };189 Object.setPrototypeOf(holey_array, prototype);190 for (let i = 0; i < 3; i++) {191 assertEquals(['1', '3', '5', 'prop'], Accumulate(holey_array));192 }193 prototype[10] = 'b';194 for (let i = 0; i < 3; i++) {195 assertEquals(['1', '3', '5', '10', 'prop'], Accumulate(holey_array));196 }197 for (let i = 0; i < 3; i++) {198 var accumulator = [];199 for (var j in holey_array) {200 accumulator.push(j);201 holey_array[j];202 }203 assertEquals(['1', '3', '10', 'prop'], accumulator);204 }205})();206(function for_in_prototype_change_element4() {207 let prototype = {208 1: 'a',209 get 3() {210 delete this[5];211 return 'b';212 },213 5: 'c',214 };215 let holey_array = {7: 'd', 9: 'e'};216 Object.setPrototypeOf(holey_array, prototype);217 for (let i = 0; i < 3; i++) {218 assertEquals(['7', '9', '1', '3', '5'], Accumulate(holey_array));219 }220 prototype.prop = 0;221 for (let i = 0; i < 3; i++) {222 assertEquals(['7', '9', '1', '3', '5', 'prop'], Accumulate(holey_array));223 }224 for (let i = 0; i < 3; i++) {225 var accumulator = [];226 for (var j in holey_array) {227 accumulator.push(j);228 prototype[j];229 }230 assertEquals(['7', '9', '1', '3', 'prop'], accumulator);231 }232})();233(function for_in_non_enumerable1() {234 let prototype1 = {prop: 0};235 let derived1 = Object.create(prototype1, {236 prop1: {enumerable: false, configurable: true, value: 1},237 });238 Object.setPrototypeOf(derived1, prototype1);239 for (let i = 0; i < 3; i++) {240 assertEquals(['prop'], Accumulate(derived1));241 }242 let derived2 = {prop2: 2};243 Object.setPrototypeOf(derived2, prototype1);244 for (let i = 0; i < 3; i++) {245 assertEquals(['prop2', 'prop'], Accumulate(derived2));246 }247})();248(function for_in_non_enumerable2() {249 let prototype1 = {prop: 0};250 let derived1 = {prop1: 1};251 Object.setPrototypeOf(derived1, prototype1);252 for (let i = 0; i < 3; i++) {253 assertEquals(['prop1', 'prop'], Accumulate(derived1));254 }255 let derived2 = Object.create(prototype1, {256 prop: {enumerable: false, configurable: true, value: 0},257 prop2: {enumerable: true, configurable: true, value: 2}258 });259 for (let i = 0; i < 3; i++) {260 assertEquals(['prop2'], Accumulate(derived2));261 }262})();263(function for_in_same_key1() {264 let prototype1 = {prop: 0, prop1: 1};265 let derived1 = {prop: 0, prop2: 1};266 Object.setPrototypeOf(derived1, prototype1);267 for (let i = 0; i < 3; i++) {268 assertEquals(['prop', 'prop2', 'prop1'], Accumulate(derived1));269 }270 let derived2 = {prop3: 3, prop4: 4};271 Object.setPrototypeOf(derived2, prototype1);272 for (let i = 0; i < 3; i++) {273 assertEquals(['prop3', 'prop4', 'prop', 'prop1'], Accumulate(derived2));274 }275})();276(function for_in_same_key2() {277 let prototype1 = {prop: 0, prop1: 1};278 let derived1 = {prop2: 2, prop3: 3};279 Object.setPrototypeOf(derived1, prototype1);280 for (let i = 0; i < 3; i++) {281 assertEquals(['prop2', 'prop3', 'prop', 'prop1'], Accumulate(derived1));282 }283 let derived2 = {prop: 0, prop4: 4};284 Object.setPrototypeOf(derived2, prototype1);285 for (let i = 0; i < 3; i++) {286 assertEquals(['prop', 'prop4', 'prop1'], Accumulate(derived2));287 }288})();289(function for_in_redefine_property() {290 Object.prototype.prop = 0;291 let object1 = {prop1: 1, prop2: 2};292 for (let i = 0; i < 3; i++) {293 assertEquals(['prop1', 'prop2', 'prop'], Accumulate(object1));294 }295 let object2 = {prop3: 3, prop4: 4};296 Object.defineProperty(object2,297 'prop', {enumerable: false, configurable: true, value: 0});298 for (let i = 0; i < 3; i++) {299 assertEquals(['prop3', 'prop4'], Accumulate(object2));300 }301})();302(function for_in_empty_property() {303 let prototype1 = {prop: 0};304 let derived1 = Object.create(prototype1, {305 prop: {enumerable: false, configurable: true, value: 0}306 });307 for (let i = 0; i < 3; i++) {308 assertEquals([], Accumulate(derived1));309 }...
client.js
Source:client.js
1const ConcretePrototype1 = require('./concretePrototype1');2const ConcretePrototype2 = require('./concretePrototype2');3const concretePrototype1 = new ConcretePrototype1();4const concretePrototype2 = new ConcretePrototype2();5// test prototype1 clone6const prototype1Demo1 = concretePrototype1.clone();7const prototype1Demo2 = concretePrototype1.clone();8console.log(prototype1Demo1);9console.log(prototype1Demo2);10prototype1Demo1.id = 'id1';11console.log(prototype1Demo1);12console.log(prototype1Demo2);13prototype1Demo2.id = 'id2';14console.log(prototype1Demo1);15console.log(prototype1Demo2);16console.log('------');17const prototype2Demo1 = concretePrototype2.clone();18const prototype2Demo2 = concretePrototype2.clone({name: "prototype2demo2 name2"});19console.dir(prototype2Demo1);20console.dir(prototype2Demo2);21prototype2Demo1.name = 'change name 1';22console.dir(prototype2Demo1);23console.dir(prototype2Demo2);24prototype2Demo2.name = 'change name 2';25console.dir(prototype2Demo1);26console.dir(prototype2Demo2);...
Using AI Code Generation
1var wpt = require('webpagetest');2var wpt = new WebPageTest('www.webpagetest.org');3 if (err) return console.error(err);4 console.log('Test submitted to WebPageTest for %s: %s', data.owner, data.data.url);5 console.log('Test ID: %s', data.data.testId);6});
Using AI Code Generation
1var wpt = require('webpagetest');2var webPageTest = new wpt('www.webpagetest.org');3var options = {4};5 if (err) return console.error(err);6 console.log('Test Status: ' + data.data.statusText);7 console.log('Test ID: ' + data.data.testId);8 console.log('Test URL: ' + data.data.summary);9 console.log('Test Results: ' + data.data.userUrl);10 console.log('Test video: ' + data.data.video);11});
Using AI Code Generation
1var wpt = require('webpagetest');2var wpt = new WebPageTest('www.webpagetest.org');3var options = {4};5wpt.runTest(url, options, function(err, data) {6 if (err) return console.error(err);7 console.log('Test ID: %s', data.data.testId);8 wpt.getTestResults(data.data.testId, function(err, data) {9 if (err) return console.error(err);10 console.log('SpeedIndex: %s', data.data.average.firstView.SpeedIndex);11 });12});13### WebPageTest(hostname, [options])14### .runTest(url, [options], callback)
Using AI Code Generation
1var wpt = require("webpagetest");2var options = {3};4var wpt1 = new wpt(options);5wpt1.getTestResults(testUrl, function (err, data) {6 if (err) {7 console.log(err);8 } else {9 console.log(data);10 }11});
Using AI Code Generation
1var wpt = require('webpagetest');2var options = {3};4var wpt = new WebPageTest('www.webpagetest.org', options.key);5wpt.runTest(options.testUrl, options, function(err, data) {6 if (err) return console.error(err);7 console.log('Test submitted to WebPageTest for %s', data.data.testUrl);8 console.log('Test ID: %s', data.data.testId);9});10var wpt = require('webpagetest');11var options = {12};13var wpt = new WebPageTest('www.webpagetest.org', options.key);14wpt.runTest(options.testUrl, options, function(err, data) {15 if (err) return console.error(err);16 console.log('Test submitted to WebPageTest for %s', data.data.testUrl);17 console.log('Test ID: %s', data.data.testId);18});19var wpt = require('webpagetest');20var options = {
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!!