tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

async-custom-formats-write-read.tentative.https.html (2051B)


      1 <!doctype html>
      2 <meta charset="utf-8">
      3 <title>Async Clipboard custom write -> Async Clipboard custom read test</title>
      4 <link rel="help" href="https://w3c.github.io/clipboard-apis/#async-clipboard-api">
      5 <body>Body needed for test_driver.click()</body>
      6 <script src="/resources/testharness.js"></script>
      7 <script src="/resources/testharnessreport.js"></script>
      8 <script src="/resources/testdriver.js"></script>
      9 <script src="/resources/testdriver-vendor.js"></script>
     10 <script src="resources/user-activation.js"></script>
     11 <script>
     12 'use strict';
     13 
     14 promise_test(async t => {
     15  await tryGrantReadPermission();
     16  await tryGrantWritePermission();
     17  const format1 = 'web application/x-custom-format-clipboard-test-format-1';
     18  const format2 = 'web application/x-custom-format-clipboard-test-format-2';
     19  const blobInput1 = new Blob(['input data 1'], {type: format1});
     20  const blobInput2 = new Blob(['input data 2'], {type: format2});
     21  const clipboardItemInput = new ClipboardItem(
     22      {[format1]: blobInput1, [format2]: blobInput2});
     23  await waitForUserActivation();
     24  await navigator.clipboard.write([clipboardItemInput]);
     25 
     26  // Items should be readable on a custom format clipboard after custom format
     27  // write.
     28  await waitForUserActivation();
     29  const clipboardItems = await navigator.clipboard.read();
     30  assert_equals(clipboardItems.length, 1);
     31  const clipboardItem = clipboardItems[0];
     32  assert_true(clipboardItem instanceof ClipboardItem);
     33  // This test can't verify clipboardItem.types, because its size and values
     34  // are both platform-dependent.
     35 
     36  const blobOutput1 = await clipboardItem.getType(format1);
     37  assert_equals(blobOutput1.type, format1);
     38  const data1 = await (new Response(blobOutput1)).text();
     39  assert_equals(data1, 'input data 1');
     40 
     41  const blobOutput2 = await clipboardItem.getType(format2);
     42  assert_equals(blobOutput2.type, format2);
     43  const data2 = await (new Response(blobOutput2)).text();
     44  assert_equals(data2, 'input data 2');
     45 }, 'Verify write and read clipboard given 2 platform-neutral custom format inputs');
     46 
     47 </script>