| <!DOCTYPE html> |
| <meta charset="utf-8"> |
| <title>Async Clipboard write (dt/text) -> read (dt/text) tests</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script> |
| async_test(function(t) { |
| var test_data = "Clipboard write (dt/text) -> read (dt/text) test data"; |
| var cb = navigator.clipboard; |
| var dt = new DataTransfer(); |
| dt.items.add(test_data, "text/plain"); |
| |
| cb.write(dt).then(t.step_func(() => { |
| cb.read().then(t.step_func((data) => { |
| assert_equals(data.items.length, 1); |
| data.items[0].getAsString(t.step_func((s) => { |
| assert_equals(s, test_data); |
| t.done(); |
| })); |
| }), function() { |
| t.unreached_func("clipboard.read() fail"); |
| }); |
| }), function() { |
| t.unreached_func("clipboard.write() fail"); |
| }); |
| }, "Verify write and read clipboard (DataTransfer/text)"); |
| </script> |
| Note: This is a manual test because it writes/reads to the shared system |
| clipboard and thus cannot be run async with other tests that might interact |
| with the clipboard. |