Best JavaScript code snippet using wpt
check-layout-th.js
Source: check-layout-th.js
...14 var result = node.getAttribute && node.getAttribute(attribute);15 output.checked |= !!result;16 return result;17}18function assert_tolerance(actual, expected, message)19{20 if (isNaN(expected) || Math.abs(actual - expected) >= 1) {21 assert_equals(actual, Number(expected), message);22 }23}24function checkExpectedValues(t, node, prefix)25{26 var output = { checked: false };27 var expectedWidth = checkAttribute(output, node, "data-expected-width");28 if (expectedWidth) {29 assert_tolerance(node.offsetWidth, expectedWidth, prefix + "width");30 }31 var expectedHeight = checkAttribute(output, node, "data-expected-height");32 if (expectedHeight) {33 assert_tolerance(node.offsetHeight, expectedHeight, prefix + "height");34 }35 var expectedOffset = checkAttribute(output, node, "data-offset-x");36 if (expectedOffset) {37 assert_tolerance(node.offsetLeft, expectedOffset, prefix + "offsetLeft");38 }39 var expectedOffset = checkAttribute(output, node, "data-offset-y");40 if (expectedOffset) {41 assert_tolerance(node.offsetTop, expectedOffset, prefix + "offsetTop");42 }43 var expectedWidth = checkAttribute(output, node, "data-expected-client-width");44 if (expectedWidth) {45 assert_tolerance(node.clientWidth, expectedWidth, prefix + "clientWidth");46 }47 var expectedHeight = checkAttribute(output, node, "data-expected-client-height");48 if (expectedHeight) {49 assert_tolerance(node.clientHeight, expectedHeight, prefix + "clientHeight");50 }51 var expectedWidth = checkAttribute(output, node, "data-expected-scroll-width");52 if (expectedWidth) {53 assert_tolerance(node.scrollWidth, expectedWidth, prefix + "scrollWidth");54 }55 var expectedHeight = checkAttribute(output, node, "data-expected-scroll-height");56 if (expectedHeight) {57 assert_tolerance(node.scrollHeight, expectedHeight, prefix + "scrollHeight");58 }59 var expectedWidth = checkAttribute(output, node, "data-expected-bounding-client-rect-width");60 if (expectedWidth) {61 assert_tolerance(node.getBoundingClientRect().width, expectedWidth, prefix + "getBoundingClientRect().width");62 }63 var expectedOffset = checkAttribute(output, node, "data-total-x");64 if (expectedOffset) {65 var totalLeft = node.clientLeft + node.offsetLeft;66 assert_tolerance(totalLeft, expectedOffset, prefix +67 "clientLeft+offsetLeft (" + node.clientLeft + " + " + node.offsetLeft + ")");68 }69 var expectedOffset = checkAttribute(output, node, "data-total-y");70 if (expectedOffset) {71 var totalTop = node.clientTop + node.offsetTop;72 assert_tolerance(totalTop, expectedOffset, prefix +73 "clientTop+offsetTop (" + node.clientTop + " + " + node.offsetTop + ")");74 }75 var expectedDisplay = checkAttribute(output, node, "data-expected-display");76 if (expectedDisplay) {77 var actualDisplay = getComputedStyle(node).display;78 assert_equals(actualDisplay, expectedDisplay, prefix + "display");79 }80 var expectedPaddingTop = checkAttribute(output, node, "data-expected-padding-top");81 if (expectedPaddingTop) {82 var actualPaddingTop = getComputedStyle(node).paddingTop;83 // Trim the unit "px" from the output.84 actualPaddingTop = actualPaddingTop.slice(0, -2);85 assert_equals(actualPaddingTop, expectedPaddingTop, prefix + "padding-top");86 }...
check_edges.js
Source: check_edges.js
1var test = require("tap").test2var raycast = require("../raycast.js")3test("single block", function(t) {4 function assert_tolerance(a, b, str) {5 for(var i=0; i<3; ++i) {6 t.assert(Math.abs(a[i] - b[i]) < 1e-6, str + ": " + a.join(",") + " - " + b.join(","))7 }8 }9 10 11 var voxel = { getBlock: function(x,y,z) { return x === 0 && y === 0 && z === 0 ? 1 : 0; } }12 var hit_position = new Array(3)13 var hit_normal = new Array(3)14 t.equals(raycast(voxel, [-1, 0.5, 0.5], [1, 0, 0], 100, hit_position, hit_normal), 1)15 assert_tolerance(hit_position, [0, 0.5, 0.5], "-x position")16 assert_tolerance(hit_normal, [-1, 0, 0], "-x normal")17 t.equals(raycast(voxel, [2, 0.5, 0.5], [-1, 0, 0], 100, hit_position, hit_normal), 1)18 assert_tolerance(hit_position, [1, 0.5, 0.5], "+x position")19 assert_tolerance(hit_normal, [1, 0, 0], "+x normal")20 t.equals(raycast(voxel, [0.5, -1, 0.5], [0, 1, 0], 100, hit_position, hit_normal), 1)21 assert_tolerance(hit_position, [0.5, 0, 0.5], "-y position")22 assert_tolerance(hit_normal, [0, -1, 0], "-y normal")23 t.equals(raycast(voxel, [0.5, 2, 0.5], [0, -1, 0], 100, hit_position, hit_normal), 1)24 assert_tolerance(hit_position, [0.5, 1, 0.5], "+y position")25 assert_tolerance(hit_normal, [0, 1, 0], "+y normal")26 t.equals(raycast(voxel, [0.5, 0.5, -1], [0, 0, 1], 100, hit_position, hit_normal), 1)27 assert_tolerance(hit_position, [0.5, 0.5, 0], "-z position")28 assert_tolerance(hit_normal, [0, 0, -1], "-z normal")29 t.equals(raycast(voxel, [0.5, 0.5, 2], [0, 0, -1], 100, hit_position, hit_normal), 1)30 assert_tolerance(hit_position, [0.5, 0.5, 1], "+z position")31 assert_tolerance(hit_normal, [0, 0, 1], "+z normal")32 33 34 //Check distance35 for(var d=0.0; d<1.0; d+=0.1) {36 t.equals(raycast(voxel, [0.5, 0.5, -1.0], [0, 0, 1], d), 0, "distance")37 }38 t.equals(raycast(voxel, [0.5, 0.5, -1.0], [0, 0, 1], 1.0), 1, "distance")39 40 41 function check_hit(p, d) {42 if(p[0] === 1 || p[1] === 1 || p[2] === 1) {43 for(var i=0; i<3; ++i) {44 if(Math.floor(p[i] + 0.1 * d[i]) !== 0) {45 return false46 }47 }48 }49 return true;50 }51 52 //Check edge cases53 for(var x=0; x<=2; ++x) {54 for(var y=0; y<=2; ++y) {55 for(var z=0; z<=2; ++z) {56 var p = [0.5*x, 0.5*y, 0.5*z]57 for(var dx=-1; dx<=1; ++dx) {58 for(var dy=-1; dy<=1; ++dy) {59 for(var dz=-1; dz<=1; ++dz) {60 if(dx === 0 && dy === 0 && dz === 0) {61 continue62 }63 var d = [dx,dy,dz]64 var b = raycast(voxel, p, d, 10, hit_position, hit_normal);65 var w = (p[0]-0.5) * d[0] + (p[1]-0.5) * d[1] + (p[2]-0.5)*d[2]66 67 if(!check_hit(p, d)) {68 t.equals(b, 0, "expect miss:" + p + ";" + d + " -- poi: " + hit_position + "," + hit_normal)69 } else {70 t.equals(b, 1, "expect hit:" + p + " " + d)71 assert_tolerance(hit_position, p, "poi")72 }73 }74 }75 }76 }77 }78 }79 80 t.end()...
check_hits.js
Source: check_hits.js
1var test = require("tap").test2var raycast = require("..")3test("hits", function(t) {4 function assert_tolerance(a, b, str) {5 for(var i=0; i<3; ++i) {6 t.assert(Math.abs(a[i] - b[i]) < 1e-6, str + ": " + a.join(",") + " - " + b.join(","))7 }8 }9 10 11 var voxel = function(x,y,z) { return x === 0 && y === 0 && z === 0 ? 1 : 0; }12 var hit_position = new Array(3)13 var hit_normal = new Array(3)14 t.equals(raycast(voxel, [-1, 0.5, 0.5], [1, 0, 0], 100, hit_position, hit_normal), 1)15 assert_tolerance(hit_position, [0, 0.5, 0.5], "-x position")16 assert_tolerance(hit_normal, [-1, 0, 0], "-x normal")17 t.equals(raycast(voxel, [2, 0.5, 0.5], [-1, 0, 0], 100, hit_position, hit_normal), 1)18 assert_tolerance(hit_position, [1, 0.5, 0.5], "+x position")19 assert_tolerance(hit_normal, [1, 0, 0], "+x normal")20 t.equals(raycast(voxel, [0.5, -1, 0.5], [0, 1, 0], 100, hit_position, hit_normal), 1)21 assert_tolerance(hit_position, [0.5, 0, 0.5], "-y position")22 assert_tolerance(hit_normal, [0, -1, 0], "-y normal")23 t.equals(raycast(voxel, [0.5, 2, 0.5], [0, -1, 0], 100, hit_position, hit_normal), 1)24 assert_tolerance(hit_position, [0.5, 1, 0.5], "+y position")25 assert_tolerance(hit_normal, [0, 1, 0], "+y normal")26 t.equals(raycast(voxel, [0.5, 0.5, -1], [0, 0, 1], 100, hit_position, hit_normal), 1)27 assert_tolerance(hit_position, [0.5, 0.5, 0], "-z position")28 assert_tolerance(hit_normal, [0, 0, -1], "-z normal")29 t.equals(raycast(voxel, [0.5, 0.5, 2], [0, 0, -1], 100, hit_position, hit_normal), 1)30 assert_tolerance(hit_position, [0.5, 0.5, 1], "+z position")31 assert_tolerance(hit_normal, [0, 0, 1], "+z normal")32 33 34 //Check distance35 for(var d=0.0; d<1.0; d+=0.1) {36 t.equals(raycast(voxel, [0.5, 0.5, -1.0], [0, 0, 1], d), 0, "distance")37 }38 t.equals(raycast(voxel, [0.5, 0.5, -1.0], [0, 0, 1], 1.0), 1, "distance")39 40 41 t.end()...
Using AI Code Generation
1var wpt = require('webpagetest');2var assert = require('assert');3var wpt = new WebPageTest('www.webpagetest.org', 'A.1234567890abcdef1234567890abcdef12345678');4 if (err) return console.error(err);5 console.log(data);6 wpt.getTestResults(data.data.testId, function(err, data) {7 if (err) return console.error(err);8 console.log(data);9 assert.assert_tolerance(data.data.median.firstView.SpeedIndex, 3000, 1000);10 });11});12{ statusCode: 200,13 { testId: '150209_8G_1d5',14{ statusCode: 200,15 { testId: '150209_8G_1d5',
Using AI Code Generation
1var wpt = require('webpagetest');2var assert = require('assert');3var test = new wpt('API_KEY');4 if (err) return console.error(err);5 test.getTestResults(data.data.testId, function(err, data) {6 if (err) return console.error(err);7 test.assert_tolerance(data.data.median.firstView.SpeedIndex, 1000, 100);8 });9});
Using AI Code Generation
1var wpt = require('webpagetest');2var assert = require('assert');3var assert_tolerance = require('assert_tolerance');4var wpt = new WebPageTest('www.webpagetest.org');5 if (err) return console.error(err);6 console.log('Test status:', data.statusText);7 wpt.getTestResults(data.data.testId, function(err, data) {8 if (err) return console.error(err);9 console.log('First View:', data.data.average.firstView.loadTime);10 console.log('Repeat View:', data.data.average.repeatView.loadTime);11 assert_tolerance(1000, data.data.average.firstView.loadTime, 100, 'Load time is within 100ms of 1000ms');12 });13});14{15 "dependencies": {16 }17}
Using AI Code Generation
1var wpt = require('./wpt.js');2var assert_tolerance = wpt.assert_tolerance;3var assert = wpt.assert;4var assert_equal = wpt.assert_equal;5var assert_not_equal = wpt.assert_not_equal;6var assert_true = wpt.assert_true;7var assert_false = wpt.assert_false;8var assert_approx_equals = wpt.assert_approx_equals;9var assert_unreached = wpt.assert_unreached;10var assert_equals = wpt.assert_equals;11var assert_array_equals = wpt.assert_array_equals;12var assert_throws = wpt.assert_throws;13var assert_class_string = wpt.assert_class_string;14function test1() {15 assert_tolerance(0.1, 0.2, 0.1);16 assert_tolerance(0.1, 0.2, 0.15);17 assert_tolerance(0.1, 0.2, 0.2);18 assert_tolerance(0.1, 0.2, 0.3);19 assert_tolerance(0.1, 0.2, 0.4);20}21function test2() {22 assert_tolerance(0.1, 0.2, 0.1, 0.1);23 assert_tolerance(0.1, 0.2, 0.15, 0.1);24 assert_tolerance(0.1, 0.2, 0.2, 0.1);25 assert_tolerance(0.1, 0.2, 0.3, 0.1);26 assert_tolerance(0.1, 0.2, 0.4, 0.1);27}28function test3() {29 assert_tolerance(0.1, 0.2, 0.1, 0.1, "test3");30 assert_tolerance(0.1, 0.2, 0.15, 0.1, "test3");31 assert_tolerance(0.1, 0.2, 0.2, 0.1, "test3");32 assert_tolerance(0.1, 0.2, 0.3, 0.1, "test3");33 assert_tolerance(0.1, 0.2, 0.4, 0.1, "test3");34}35function test4() {
Using AI Code Generation
1function assert_tolerance(a, b, tolerance, message) {2 if (tolerance == undefined) {3 tolerance = 0.01;4 }5 if (message == undefined) {6 message = 'assert_tolerance failed';7 }8 if (Math.abs(a - b) > tolerance) {9 throw message;10 }11}12function assert_close(a, b, message) {13 if (message == undefined) {14 message = 'assert_close failed';15 }16 if (a != b) {17 throw message;18 }19}20function assert_equals(a, b, message) {21 if (message == undefined) {22 message = 'assert_equals failed';23 }24 if (a != b) {25 throw message;26 }27}28function assert_false(a, message) {29 if (message == undefined) {30 message = 'assert_false failed';31 }32 if (a != false) {33 throw message;34 }35}36function assert_true(a, message) {37 if (message == undefined) {38 message = 'assert_true failed';39 }40 if (a != true) {41 throw message;42 }43}44function assert_greater_than(a, b, message) {45 if (message == undefined) {46 message = 'assert_greater_than failed';47 }48 if (a <= b) {49 throw message;50 }51}52function assert_greater_than_equal(a, b, message) {53 if (message == undefined) {54 message = 'assert_greater_than_equal failed';55 }56 if (a < b) {57 throw message;58 }59}60function assert_less_than(a, b, message) {61 if (message == undefined) {62 message = 'assert_less_than failed';63 }64 if (a >= b) {65 throw message;66 }67}68function assert_less_than_equal(a, b, message) {69 if (message == undefined) {
Using AI Code Generation
1var assert_tolerance = require('./assert_tolerance.js');2assert_tolerance(1, 2, 0.1);3var assert = require('assert');4module.exports = function assert_tolerance(actual, expected, tolerance) {5 assert(Math.abs(actual - expected) <= tolerance);6};
Using AI Code Generation
1var assert_tolerance = require('./assert_tolerance.js');2var a = 1;3var b = 1;4var c = 1;5var d = 2;6var e = 3;7var f = 4;8assert_tolerance(a, b, 0.1);9assert_tolerance(c, d, 0.1);10assert_tolerance(e, f, 0.1);
Using AI Code Generation
1var assert_tolerance = require('wpt-runner').assert_tolerance;2var test = require('wpt-runner').test;3test('test 1', function() {4 assert_tolerance(1, 1, 0.1);5 assert_tolerance(1, 2, 0.5);6 assert_tolerance(1, 3, 0.5);7 assert_tolerance(1, 4, 0.5);8 assert_tolerance(1, 5, 0.5);9 assert_tolerance(1, 6, 0.5);10 assert_tolerance(1, 7, 0.5);11 assert_tolerance(1, 8, 0.5);12 assert_tolerance(1, 9, 0.5);13 assert_tolerance(1, 10, 0.5);14 assert_tolerance(1, 11, 0.5);15 assert_tolerance(1, 12, 0.5);16 assert_tolerance(1, 13, 0.5);17 assert_tolerance(1, 14, 0.5);18 assert_tolerance(1, 15, 0.5);19 assert_tolerance(1, 16, 0.5);20 assert_tolerance(1, 17, 0.5);21 assert_tolerance(1, 18, 0.5);22 assert_tolerance(1, 19, 0.5);23 assert_tolerance(1, 20, 0.5);24 assert_tolerance(1, 21, 0.5);25 assert_tolerance(1, 22, 0.5);26 assert_tolerance(1, 23, 0.5);27 assert_tolerance(1, 24, 0.5);28 assert_tolerance(1, 25, 0.5);29 assert_tolerance(1, 26, 0.5);30 assert_tolerance(1, 27, 0.5);31 assert_tolerance(1, 28, 0.5);32 assert_tolerance(1, 29, 0.5);33 assert_tolerance(1, 30, 0.5);34 assert_tolerance(1, 31, 0.5);35 assert_tolerance(1, 32, 0.5);
Using AI Code Generation
1var assert = require('assert');2var wpt = require('./wpt.js');3var wptObj = new wpt('API_KEY');4var test = function(test, callback) {5 var params = {6 };7 wptObj.runTest(params, function(err, data) {8 if (err) {9 console.log(data);10 } else {11 var testId = data.data.testId;12 wptObj.getTestResults(testId, function(err, data) {13 if (err) {14 console.log(data);15 } else {16 var fv = data.data.runs[1].firstView;17 var loadTime = fv.loadTime;18 test.assert_tolerance(loadTime, 2000, 1000, 'Page load time less than 2000ms');19 test.done();20 }21 });22 }23 });24};25module.exports = test;26var WPT = function(apiKey) {27 this.apiKey = apiKey;28 this.runTest = function(params, callback) {29 };30 this.getTestResults = function(testId, callback) {31 };32 this.assert_tolerance = function(actual, expected, tolerance, message) {33 if (actual >= (expected - tolerance) && actual <= (expected + tolerance)) {34 console.log(message + ' - Passed');35 } else {36 console.log(message + ' - Failed');37 }38 };39};40module.exports = WPT;
Check out the latest blogs from LambdaTest on this topic:
The events over the past few years have allowed the world to break the barriers of traditional ways of working. This has led to the emergence of a huge adoption of remote working and companies diversifying their workforce to a global reach. Even prior to this many organizations had already had operations and teams geographically dispersed.
JavaScript is one of the most widely used programming languages. This popularity invites a lot of JavaScript development and testing frameworks to ease the process of working with it. As a result, numerous JavaScript testing frameworks can be used to perform unit testing.
Building a website is all about keeping the user experience in mind. Ultimately, it’s about providing visitors with a mind-blowing experience so they’ll keep coming back. One way to ensure visitors have a great time on your site is to add some eye-catching text or image animations.
Hey Testers! We know it’s been tough out there at this time when the pandemic is far from gone and remote working has become the new normal. Regardless of all the hurdles, we are continually working to bring more features on-board for a seamless cross-browser testing experience.
In my last blog, I investigated both the stateless and the stateful class of model-based testing. Both have some advantages and disadvantages. You can use them for different types of systems, depending on whether a stateful solution is required or a stateless one is enough. However, a better solution is to use an aggregate technique that is appropriate for each system. Currently, the only aggregate solution is action-state testing, introduced in the book Paradigm Shift in Software Testing. This method is implemented in Harmony.
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!!