Best JavaScript code snippet using wpt
webxr_test_asserts.js
Source:webxr_test_asserts.js
1// Utility assert functions.2// Relies on resources/testharness.js to be included before this file.3// Relies on webxr_test_constants.js to be included before this file.4// Relies on webxr_math_utils.js to be included before this file.5// |p1|, |p2| - objects with x, y, z, w components that are floating point numbers.6// Returns the name of mismatching component between p1 and p2.7const get_mismatched_component = function(p1, p2, epsilon = FLOAT_EPSILON) {8 for (const v of ['x', 'y', 'z', 'w']) {9 if (Math.abs(p1[v] - p2[v]) > epsilon) {10 return v;11 }12 }13 return null;14}15// |p1|, |p2| - objects with x, y, z, w components that are floating point numbers.16// |epsilon| - float specifying precision17// |prefix| - string used as a prefix for logging18const assert_point_approx_equals = function(p1, p2, epsilon = FLOAT_EPSILON, prefix = "") {19 if (p1 == null && p2 == null) {20 return;21 }22 assert_not_equals(p1, null, prefix + "p1 must be non-null");23 assert_not_equals(p2, null, prefix + "p2 must be non-null");24 const mismatched_component = get_mismatched_component(p1, p2, epsilon);25 if (mismatched_component !== null) {26 let error_message = prefix + ' Point comparison failed.\n';27 error_message += ` p1: {x: ${p1.x}, y: ${p1.y}, z: ${p1.z}, w: ${p1.w}}\n`;28 error_message += ` p2: {x: ${p2.x}, y: ${p2.y}, z: ${p2.z}, w: ${p2.w}}\n`;29 error_message += ` Difference in component ${mismatched_component} exceeded the given epsilon.\n`;30 assert_approx_equals(p2[mismatched_component], p1[mismatched_component], epsilon, error_message);31 }32};33const assert_orientation_approx_equals = function(q1, q2, epsilon = FLOAT_EPSILON, prefix = "") {34 if (q1 == null && q2 == null) {35 return;36 }37 assert_not_equals(q1, null, prefix + "q1 must be non-null");38 assert_not_equals(q2, null, prefix + "q2 must be non-null");39 const q2_flipped = flip_quaternion(q2);40 const mismatched_component = get_mismatched_component(q1, q2, epsilon);41 const mismatched_component_flipped = get_mismatched_component(q1, q2_flipped, epsilon);42 if (mismatched_component !== null && mismatched_component_flipped !== null) {43 // q1 doesn't match neither q2 nor -q2, so it definitely does not represent the same orientations,44 // log an assert failure.45 let error_message = prefix + ' Orientation comparison failed.\n';46 error_message += ` p1: {x: ${q1.x}, y: ${q1.y}, z: ${q1.z}, w: ${q1.w}}\n`;47 error_message += ` p2: {x: ${q2.x}, y: ${q2.y}, z: ${q2.z}, w: ${q2.w}}\n`;48 error_message += ` Difference in component ${mismatched_component} exceeded the given epsilon.\n`;49 assert_approx_equals(q2[mismatched_component], q1[mismatched_component], epsilon, error_message);50 }51}52// |p1|, |p2| - objects with x, y, z, w components that are floating point numbers.53// |epsilon| - float specifying precision54// |prefix| - string used as a prefix for logging55const assert_point_significantly_not_equals = function(p1, p2, epsilon = FLOAT_EPSILON, prefix = "") {56 assert_not_equals(p1, null, prefix + "p1 must be non-null");57 assert_not_equals(p2, null, prefix + "p2 must be non-null");58 let mismatched_component = get_mismatched_component(p1, p2, epsilon);59 if (mismatched_component === null) {60 let error_message = prefix + ' Point comparison failed.\n';61 error_message += ` p1: {x: ${p1.x}, y: ${p1.y}, z: ${p1.z}, w: ${p1.w}}\n`;62 error_message += ` p2: {x: ${p2.x}, y: ${p2.y}, z: ${p2.z}, w: ${p2.w}}\n`;63 error_message += ` Difference in components did not exceeded the given epsilon.\n`;64 assert_unreached(error_message);65 }66};67// |t1|, |t2| - objects containing position and orientation.68// |epsilon| - float specifying precision69// |prefix| - string used as a prefix for logging70const assert_transform_approx_equals = function(t1, t2, epsilon = FLOAT_EPSILON, prefix = "") {71 if (t1 == null && t2 == null) {72 return;73 }74 assert_not_equals(t1, null, prefix + "t1 must be non-null");75 assert_not_equals(t2, null, prefix + "t2 must be non-null");76 assert_point_approx_equals(t1.position, t2.position, epsilon, prefix + "positions must be equal");77 assert_orientation_approx_equals(t1.orientation, t2.orientation, epsilon, prefix + "orientations must be equal");78};79// |m1|, |m2| - arrays of floating point numbers80// |epsilon| - float specifying precision81// |prefix| - string used as a prefix for logging82const assert_matrix_approx_equals = function(m1, m2, epsilon = FLOAT_EPSILON, prefix = "") {83 if (m1 == null && m2 == null) {84 return;85 }86 assert_not_equals(m1, null, prefix + "m1 must be non-null");87 assert_not_equals(m2, null, prefix + "m2 must be non-null");88 assert_equals(m1.length, 16, prefix + "m1 must have length of 16");89 assert_equals(m2.length, 16, prefix + "m2 must have length of 16");90 let mismatched_element = -1;91 for (let i = 0; i < 16; ++i) {92 if (Math.abs(m1[i] - m2[i]) > epsilon) {93 mismatched_element = i;94 break;95 }96 }97 if (mismatched_element > -1) {98 let error_message = prefix + 'Matrix comparison failed.\n';99 error_message += ' Difference in element ' + mismatched_element +100 ' exceeded the given epsilon.\n';101 error_message += ' Matrix 1: [' + m1.join(',') + ']\n';102 error_message += ' Matrix 2: [' + m2.join(',') + ']\n';103 assert_approx_equals(104 m1[mismatched_element], m2[mismatched_element], epsilon,105 error_message);106 }107};108// |m1|, |m2| - arrays of floating point numbers109// |epsilon| - float specifying precision110// |prefix| - string used as a prefix for logging111const assert_matrix_significantly_not_equals = function(m1, m2, epsilon = FLOAT_EPSILON, prefix = "") {112 if (m1 == null && m2 == null) {113 return;114 }115 assert_not_equals(m1, null, prefix + "m1 must be non-null");116 assert_not_equals(m2, null, prefix + "m2 must be non-null");117 assert_equals(m1.length, 16, prefix + "m1 must have length of 16");118 assert_equals(m2.length, 16, prefix + "m2 must have length of 16");119 let mismatch = false;120 for (let i = 0; i < 16; ++i) {121 if (Math.abs(m1[i] - m2[i]) > epsilon) {122 mismatch = true;123 break;124 }125 }126 if (!mismatch) {127 let m1_str = '[';128 let m2_str = '[';129 for (let i = 0; i < 16; ++i) {130 m1_str += m1[i] + (i < 15 ? ', ' : '');131 m2_str += m2[i] + (i < 15 ? ', ' : '');132 }133 m1_str += ']';134 m2_str += ']';135 let error_message = prefix + 'Matrix comparison failed.\n';136 error_message +=137 ' No element exceeded the given epsilon ' + epsilon + '.\n';138 error_message += ' Matrix A: ' + m1_str + '\n';139 error_message += ' Matrix B: ' + m2_str + '\n';140 assert_unreached(error_message);141 }142};143// |r1|, |r2| - XRRay objects144// |epsilon| - float specifying precision145// |prefix| - string used as a prefix for logging146const assert_ray_approx_equals = function(r1, r2, epsilon = FLOAT_EPSILON, prefix = "") {147 assert_point_approx_equals(r1.origin, r2.origin, epsilon, prefix + "origin:");148 assert_point_approx_equals(r1.direction, r2.direction, epsilon, prefix + "direction:");149 assert_matrix_approx_equals(r1.matrix, r2.matrix, epsilon, prefix + "matrix:");...
Using AI Code Generation
1var wpt = require('webpagetest');2var wpt = new WebPageTest('www.webpagetest.org');3 if (err) console.log(err);4 else console.log(data);5});6var wpt = require('webpagetest');7var wpt = new WebPageTest('www.webpagetest.org');8 if (err) console.log(err);9 else console.log(data);10});11var wpt = require('webpagetest');12var wpt = new WebPageTest('www.webpagetest.org');13 if (err) console.log(err);14 else console.log(data);15});16var wpt = require('webpagetest');17var wpt = new WebPageTest('www.webpagetest.org');18 if (err) console.log(err);19 else console.log(data);20});21var wpt = require('webpagetest');22var wpt = new WebPageTest('www.webpagetest.org');23 if (err) console.log(err);24 else console.log(data);25});26var wpt = require('webpagetest');27var wpt = new WebPageTest('www.webpagetest.org');
Using AI Code Generation
1var wpt = require('wpt');2var wpt = new WebPageTest('www.webpagetest.org');3wpt.runTest('www.webpagetest.org', {mismatched_component_flipped: 1}, function(err, data) {4});5var wpt = require('wpt');6var wpt = new WebPageTest('www.webpagetest.org');7wpt.runTest('www.webpagetest.org', {mismatched_component_flipped: 1}, function(err, data) {8});9var wpt = require('wpt');10var wpt = new WebPageTest('www.webpagetest.org');11wpt.runTest('www.webpagetest.org', {mismatched_component_flipped: 1}, function(err, data) {12});13var wpt = require('wpt');14var wpt = new WebPageTest('www.webpagetest.org');15wpt.runTest('www.webpagetest.org', {mismatched_component_flipped: 1}, function(err, data) {16});17var wpt = require('wpt');18var wpt = new WebPageTest('www.webpagetest.org');19wpt.runTest('www.webpagetest.org', {mismatched_component_flipped: 1}, function(err, data) {20});21var wpt = require('wpt');22var wpt = new WebPageTest('www.webpagetest.org');23wpt.runTest('www.webpagetest.org', {mismatched_component_flipped: 1}, function(err, data) {24});25var wpt = require('wpt');26var wpt = new WebPageTest('www.webpagetest.org');27wpt.runTest('www.webpagetest.org',
Using AI Code Generation
1function mismatched_component_flipped( a, b, c, d, e, f, g, h ) {2 return mismatched_component( a, b, c, d, e, f, g, h );3}4function mismatched_component( a, b, c, d, e, f, g, h ) {5 var i = 0;6 var j = 0;7 var k = 0;8 var l = 0;9 var m = 0;10 var n = 0;11 var o = 0;12 var p = 0;13 var q = 0;14 var r = 0;15 var s = 0;16 var t = 0;17 var u = 0;18 var v = 0;19 var w = 0;20 var x = 0;21 var y = 0;22 var z = 0;23 if ( a ) {24 i = 1;25 }26 if ( b ) {27 j = 1;28 }29 if ( c ) {30 k = 1;31 }32 if ( d ) {33 l = 1;34 }35 if ( e ) {36 m = 1;37 }38 if ( f ) {39 n = 1;40 }41 if ( g ) {42 o = 1;43 }44 if ( h ) {45 p = 1;46 }47 if ( i ) {48 q = 1;49 }50 if ( j ) {51 r = 1;52 }53 if ( k ) {54 s = 1;55 }56 if ( l ) {57 t = 1;58 }59 if ( m ) {60 u = 1;61 }62 if ( n ) {63 v = 1;64 }65 if ( o ) {66 w = 1;67 }68 if ( p ) {69 x = 1;70 }71 if ( q ) {72 y = 1;73 }74 if ( r ) {75 z = 1;76 }77 if ( s ) {78 y = 1;79 }80 if ( t ) {81 z = 1;82 }83 if ( u ) {84 y = 1;85 }
Using AI Code Generation
1const wptools = require('wptools');2const fs = require('fs');3wptools.mismatched_component_flipped('Kanpur')4 .then((data) => {5 fs.writeFile('kanpur.json', JSON.stringify(data), (err) => {6 if (err) throw err;7 console.log('The file has been saved!');8 });9 })10 .catch((err) => {11 console.log(err);12 });13{14}15const wptools = require('wptools');16const fs = require('fs');17wptools.mismatched_component('Kanpur')18 .then((data) => {19 fs.writeFile('kanpur.json', JSON.stringify(data), (err) => {20 if (err) throw err;21 console.log('The file has been saved!');22 });23 })24 .catch((err) => {25 console.log(err);26 });27{28}
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!!