Best JavaScript code snippet using wpt
videoFrame-copyTo.any.js
Source:videoFrame-copyTo.any.js
...36 assert_equals(actual[i], expected[i], 'buffer contents at index ' + i);37 }38 }39}40function assert_layout_equals(actual, expected) {41 assert_equals(actual.length, expected.length, 'layout planes');42 for (let i = 0; i < actual.length; i++) {43 assert_object_equals(actual[i], expected[i], 'plane ' + i + ' layout');44 }45}46promise_test(async t => {47 const frame = makeI420_4x2();48 const expectedLayout = [49 {offset: 0, stride: 4},50 {offset: 8, stride: 2},51 {offset: 10, stride: 2},52 ];53 const expectedData = new Uint8Array([54 1, 2, 3, 4, // y55 5, 6, 7, 8,56 9, 10, // u57 11, 12 // v58 ]);59 assert_equals(frame.allocationSize(), expectedData.length, 'allocationSize()');60 const data = new Uint8Array(expectedData.length);61 const layout = await frame.copyTo(data);62 assert_layout_equals(layout, expectedLayout);63 assert_buffer_equals(data, expectedData);64}, 'Test I420 frame.');65promise_test(async t => {66 const frame = makeRGBA_2x2();67 const expectedLayout = [68 {offset: 0, stride: 8},69 ];70 const expectedData = new Uint8Array([71 1,2,3,4, 5,6,7,8,72 9,10,11,12, 13,14,15,16,73 ]);74 assert_equals(frame.allocationSize(), expectedData.length, 'allocationSize()');75 const data = new Uint8Array(expectedData.length);76 const layout = await frame.copyTo(data);77 assert_layout_equals(layout, expectedLayout);78 assert_buffer_equals(data, expectedData);79}, 'Test RGBA frame.');80promise_test(async t => {81 const frame = makeI420_4x2();82 const data = new Uint8Array(11);83 await promise_rejects_js(t, TypeError, frame.copyTo(data));84}, 'Test undersized buffer.');85promise_test(async t => {86 const frame = makeI420_4x2();87 const options = {88 layout: [{offset: 0, stride: 4}],89 };90 assert_throws_js(TypeError, () => frame.allocationSize(options));91 const data = new Uint8Array(12);92 await promise_rejects_js(t, TypeError, frame.copyTo(data, options));93}, 'Test incorrect plane count.');94promise_test(async t => {95 const frame = makeI420_4x2();96 const options = {97 layout: [98 {offset: 4, stride: 4},99 {offset: 0, stride: 2},100 {offset: 2, stride: 2},101 ],102 };103 const expectedData = new Uint8Array([104 9, 10, // u105 11, 12, // v106 1, 2, 3, 4, // y107 5, 6, 7, 8,108 ]);109 assert_equals(frame.allocationSize(options), expectedData.length, 'allocationSize()');110 const data = new Uint8Array(expectedData.length);111 const layout = await frame.copyTo(data, options);112 assert_layout_equals(layout, options.layout);113 assert_buffer_equals(data, expectedData);114}, 'Test stride and offset work.');115promise_test(async t => {116 const frame = makeI420_4x2();117 const options = {118 layout: [119 {offset: 9, stride: 5},120 {offset: 1, stride: 3},121 {offset: 5, stride: 3},122 ],123 };124 const expectedData = new Uint8Array([125 0,126 9, 10, 0, // u127 0,128 11, 12, 0, // v129 0,130 1, 2, 3, 4, 0, // y131 5, 6, 7, 8, 0,132 ]);133 assert_equals(frame.allocationSize(options), expectedData.length, 'allocationSize()');134 const data = new Uint8Array(expectedData.length);135 const layout = await frame.copyTo(data, options);136 assert_layout_equals(layout, options.layout);137 assert_buffer_equals(data, expectedData);138}, 'Test stride and offset with padding.');139promise_test(async t => {140 const frame = makeI420_4x2();141 const options = {142 layout: [143 {offset: 0, stride: 1},144 {offset: 8, stride: 2},145 {offset: 10, stride: 2},146 ],147 };148 assert_throws_js(TypeError, () => frame.allocationSize(options));149 const data = new Uint8Array(12);150 await promise_rejects_js(t, TypeError, frame.copyTo(data, options));151}, 'Test invalid stride.');152promise_test(async t => {153 const frame = makeI420_4x2();154 const options = {155 layout: [156 {offset: 0, stride: 4},157 {offset: 8, stride: 2},158 {offset: 2 ** 32 - 2, stride: 2},159 ],160 };161 assert_throws_js(TypeError, () => frame.allocationSize(options));162 const data = new Uint8Array(12);163 await promise_rejects_js(t, TypeError, frame.copyTo(data, options));164}, 'Test address overflow.');165promise_test(async t => {166 const frame = makeI420_4x2();167 const options = {168 rect: frame.codedRect,169 };170 const expectedLayout = [171 {offset: 0, stride: 4},172 {offset: 8, stride: 2},173 {offset: 10, stride: 2},174 ];175 const expectedData = new Uint8Array([176 1, 2, 3, 4, 5, 6, 7, 8, // y177 9, 10, // u178 11, 12 // v179 ]);180 assert_equals(frame.allocationSize(options), expectedData.length, 'allocationSize()');181 const data = new Uint8Array(expectedData.length);182 const layout = await frame.copyTo(data, options);183 assert_layout_equals(layout, expectedLayout);184 assert_buffer_equals(data, expectedData);185}, 'Test codedRect.');186promise_test(async t => {187 const frame = makeI420_4x2();188 const options = {189 rect: {x: 0, y: 0, width: 4, height: 0},190 };191 assert_throws_js(TypeError, () => frame.allocationSize(options));192 const data = new Uint8Array(12);193 await promise_rejects_js(t, TypeError, frame.copyTo(data, options));194}, 'Test empty rect.');195promise_test(async t => {196 const frame = makeI420_4x2();197 const options = {198 rect: {x: 0, y: 0, width: 4, height: 1},199 };200 assert_throws_js(TypeError, () => frame.allocationSize(options));201 const data = new Uint8Array(12);202 await promise_rejects_js(t, TypeError, frame.copyTo(data, options));203}, 'Test unaligned rect.');204promise_test(async t => {205 const frame = makeI420_4x2();206 const options = {207 rect: {x: 2, y: 0, width: 2, height: 2},208 };209 const expectedLayout = [210 {offset: 0, stride: 2},211 {offset: 4, stride: 1},212 {offset: 5, stride: 1},213 ];214 const expectedData = new Uint8Array([215 3, 4, // y216 7, 8,217 10, // u218 12 // v219 ]);220 assert_equals(frame.allocationSize(options), expectedData.length, 'allocationSize()');221 const data = new Uint8Array(expectedData.length);222 const layout = await frame.copyTo(data, options);223 assert_layout_equals(layout, expectedLayout);224 assert_buffer_equals(data, expectedData);225}, 'Test left crop.');226promise_test(async t => {227 const frame = makeI420_4x2();228 const options = {229 rect: {x: 0, y: 0, width: 4, height: 4},230 };231 assert_throws_js(TypeError, () => frame.allocationSize(options));232 const data = new Uint8Array(12);233 await promise_rejects_js(t, TypeError, frame.copyTo(data, options));...
Using AI Code Generation
1importScripts("/resources/testharness.js");2importScripts("/resources/testharnessreport.js");3importScripts("/resources/testdriver.js");4importScripts("/resources/testdriver-vendor.js");5importScripts("/resources/testdriver-actions.js");6importScripts("/resources/testdriver-bi-di.js");7importScripts("/resources/testdriver-keys.js");8importScripts("/resources/testdriver-vendor.js");9importScripts("/resources/testdriver-visibility.js");10importScripts("/resources/testdriver-webauthn.js");11importScripts("/resources/testdriver.js");12importScripts("/resources/testdriver-actions.js");13importScripts("/resources/testdriver-bi-di.js");14importScripts("/resources/testdriver-keys.js");15importScripts("/resources/testdriver-vendor.js");16importScripts("/resources/testdriver-visibility.js");17importScripts("/resources/testdriver-webauthn.js");18importScripts("/resources/testdriver.js");19importScripts("/resources/testdriver-actions.js");20importScripts("/resources/testdriver-bi-di.js");21importScripts("/resources/testdriver-keys.js");22importScripts("/resources/testdriver-vendor.js");23importScripts("/resources/testdriver-visibility.js");24importScripts("/resources/testdriver-webauthn.js");25importScripts("/resources/testdriver.js");26importScripts("/resources/testdriver-actions.js");27importScripts("/resources/testdriver-bi-di.js");28importScripts("/resources/testdriver-keys.js");29importScripts("/resources/testdriver-vendor.js");30importScripts("/resources/testdriver-visibility.js");31importScripts("/resources/testdriver-webauthn.js");32importScripts("/resources/testdriver.js");33importScripts("/resources/testdriver-actions.js");34importScripts("/resources/testdriver-bi-di.js");35importScripts("/resources/testdriver-keys.js");36importScripts("/resources/testdriver-vendor.js");37importScripts("/resources/testdriver-visibility.js");38importScripts("/resources/testdriver-webauthn.js");39importScripts("/resources/testdriver.js");40importScripts("/resources/testdriver-actions.js");41importScripts("/resources/testdriver-bi-di.js");42importScripts("/resources/testdriver-keys.js");43importScripts("/resources/testdriver-vendor.js");44importScripts("/resources/testdriver-visibility.js");45importScripts("/resources/testdriver-webauthn.js");46importScripts("/resources/testdriver.js");47importScripts("/resources/testdriver-actions.js");48importScripts("/resources/testdriver-bi-di.js");49importScripts("/resources/testdriver-keys.js");50importScripts("/resources/testdriver-vendor.js");51importScripts("/resources/testdriver-visibility.js");52importScripts("/resources
Using AI Code Generation
1var assert_layout_equals = function (id, expected) {2 var actual = document.getElementById(id).getBoundingClientRect();3 assert_equals(actual.top, expected.top);4 assert_equals(actual.left, expected.left);5 assert_equals(actual.width, expected.width);6 assert_equals(actual.height, expected.height);7};8assert_layout_equals("id1", {top: 0, left: 0, width: 100, height: 100});9assert_layout_equals("id2", {top: 0, left: 100, width: 200, height: 100});10assert_layout_equals("id3", {top: 100, left: 0, width: 100, height: 200});11assert_layout_equals("id4", {top: 100, left: 100, width: 200, height: 200});12 <div id="id1" style="position: absolute; top: 0; left: 0; width: 100px; height: 100px; background-color: #ff0000">id1</div>13 <div id="id2" style="position: absolute; top: 0; left: 100px; width: 200px; height: 100px; background-color: #00ff00">id2</div>14 <div id="id3" style="position: absolute; top: 100px; left: 0; width: 100px; height: 200px; background-color: #0000ff">id3</div>15 <div id="id4" style="position: absolute; top: 100px; left: 100px; width: 200px; height: 200px; background-color: #ff00ff">id4</div>16assert_layout_equals(id, expected[, message])
Using AI Code Generation
1function assert_layout_equals(actual, expected, message) {2 assert_equals(actual, expected, message);3}4function assert_layout_equals(actual, expected, message) {5 assert_equals(actual, expected, message);6}7function assert_layout_equals(actual, expected, message) {8 assert_equals(actual, expected, message);9}10function assert_layout_equals(actual, expected, message) {11 assert_equals(actual, expected, message);12}13function assert_layout_equals(actual, expected, message) {14 assert_equals(actual, expected, message);15}16function assert_layout_equals(actual, expected, message) {17 assert_equals(actual, expected, message);18}19function assert_layout_equals(actual, expected, message) {20 assert_equals(actual, expected, message);21}22function assert_layout_equals(actual, expected, message) {23 assert_equals(actual, expected, message);24}25function assert_layout_equals(actual, expected, message) {26 assert_equals(actual, expected, message);27}28function assert_layout_equals(actual, expected, message) {29 assert_equals(actual, expected, message);30}31function assert_layout_equals(actual, expected, message) {32 assert_equals(actual, expected, message);33}34function assert_layout_equals(actual, expected, message) {35 assert_equals(actual, expected, message);36}
Using AI Code Generation
1var assert_layout_equals = function (actual, expected) {2 if (actual != expected)3 throw new Error(actual + " does not match expected layout " + expected);4};5assert_layout_equals("a", "a");6assert_layout_equals("b", "b");7assert_layout_equals("c", "c");8var assert_layout_equals = function (actual, expected) {9 if (actual != expected)10 throw new Error(actual + " does not match expected layout " + expected);11};12assert_layout_equals("a", "a");13assert_layout_equals("b", "b");14assert_layout_equals("c", "c");15var assert_layout_equals = function (actual, expected) {16 if (actual != expected)17 throw new Error(actual + " does not match expected layout " + expected);18};19assert_layout_equals("a", "a");20assert_layout_equals("b", "b");21assert_layout_equals("c", "c");22var assert_layout_equals = function (actual, expected) {23 if (actual != expected)24 throw new Error(actual + " does not match expected layout " + expected);25};26assert_layout_equals("a", "a");27assert_layout_equals("b", "b");28assert_layout_equals("c", "c");29var assert_layout_equals = function (actual, expected) {30 if (actual != expected)31 throw new Error(actual + " does not match expected layout " + expected);32};33assert_layout_equals("a", "a");34assert_layout_equals("b", "b");35assert_layout_equals("c", "c");36var assert_layout_equals = function (actual, expected) {37 if (actual != expected)38 throw new Error(actual + " does not match expected layout " + expected);39};40assert_layout_equals("a", "a");41assert_layout_equals("b", "b");42assert_layout_equals("c", "c");
Using AI Code Generation
1'use strict';2importScripts('/resources/testharness.js');3assert_layout_equals(1, 2, 'test');4done();5function assert_layout_equals(actual, expected, description) {6 if (actual !== expected) {7 throw new Error('Test Failed: ' + description + ' assert_layout_equals failed');8 }9}10function done() {11 postMessage('DONE');12}13function postMessage(message) {14 return message;15}16function Error(message) {17 return message;18}19function console() {20 return {21 log: function(msg) {22 return msg;23 }24 };25}26function console() {27 return {28 error: function(msg) {29 return msg;30 }31 };32}33function console() {34 return {35 warn: function(msg) {36 return msg;37 }38 };39}40function console() {41 return {42 info: function(msg) {43 return msg;44 }45 };46}47function console() {48 return {49 dir: function(msg) {50 return msg;51 }52 };53}54function console() {55 return {56 dirxml: function(msg) {57 return msg;58 }59 };60}61function console() {62 return {63 trace: function(msg) {64 return msg;65 }66 };67}68function console() {69 return {
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!!