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("/resourcesUsing 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!!
