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;
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!!