Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(66)

Side by Side Diff: third_party/WebKit/LayoutTests/imported/wpt/FileAPI/blob/Blob-constructor.html

Issue 2104293002: Import wpt@3a8b4eba63e0e226cb9dc3648084753f920ffeb8 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix platform expectations Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <meta charset=utf-8> 2 <meta charset=utf-8>
3 <title>Blob constructor</title> 3 <title>Blob constructor</title>
4 <link rel=help href="http://dev.w3.org/2006/webapi/FileAPI/#constructorBlob"> 4 <link rel=help href="http://dev.w3.org/2006/webapi/FileAPI/#constructorBlob">
5 <link rel=help href="https://heycam.github.io/webidl/#es-union"> 5 <link rel=help href="https://heycam.github.io/webidl/#es-union">
6 <link rel=help href="https://heycam.github.io/webidl/#es-dictionary"> 6 <link rel=help href="https://heycam.github.io/webidl/#es-dictionary">
7 <link rel=help href="https://heycam.github.io/webidl/#es-sequence"> 7 <link rel=help href="https://heycam.github.io/webidl/#es-sequence">
8 <script src="/resources/testharness.js"></script> 8 <script src="/resources/testharness.js"></script>
9 <script src="/resources/testharnessreport.js"></script> 9 <script src="/resources/testharnessreport.js"></script>
10 <script src="../support/Blob.js"></script> 10 <script src="../support/Blob.js"></script>
(...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after
323 test_blob(function() { 323 test_blob(function() {
324 var select = document.createElement("select"); 324 var select = document.createElement("select");
325 select.appendChild(document.createElement("option")); 325 select.appendChild(document.createElement("option"));
326 return new Blob(select); 326 return new Blob(select);
327 }, { 327 }, {
328 expected: "[object HTMLOptionElement]", 328 expected: "[object HTMLOptionElement]",
329 type: "", 329 type: "",
330 desc: "Passing an platform object that supports indexed properties as the blob Parts array should work (select)." 330 desc: "Passing an platform object that supports indexed properties as the blob Parts array should work (select)."
331 }); 331 });
332 332
333 var t_ports = async_test("Passing a platform array object as the blobParts array should work (MessagePort[])."); 333 test_blob(function() {
334 var elm = document.createElement("div");
335 elm.setAttribute("foo", "bar");
336 return new Blob(elm.attributes);
337 }, {
338 expected: "[object Attr]",
339 type: "",
340 desc: "Passing an platform object that supports indexed properties as the blob Parts array should work (attributes)."
341 });
342
343 var t_ports = async_test("Passing a FrozenArray as the blobParts array should wo rk (FrozenArray<MessagePort>).");
334 t_ports.step(function() { 344 t_ports.step(function() {
335 var channel = new MessageChannel(); 345 var channel = new MessageChannel();
336 channel.port2.onmessage = this.step_func(function(e) { 346 channel.port2.onmessage = this.step_func(function(e) {
337 var b_ports = new Blob(e.ports); 347 var b_ports = new Blob(e.ports);
338 assert_equals(b_ports.size, "[object MessagePort]".length); 348 assert_equals(b_ports.size, "[object MessagePort]".length);
339 this.done(); 349 this.done();
340 }); 350 });
341 var channel2 = new MessageChannel(); 351 var channel2 = new MessageChannel();
342 channel.port1.postMessage('', [channel2.port1]); 352 channel.port1.postMessage('', [channel2.port1]);
343 }); 353 });
344 354
345 test_blob(function() { 355 test_blob(function() {
346 var elm = document.createElement("div");
347 elm.setAttribute("foo", "bar");
348 return new Blob(elm.attributes);
349 }, {
350 expected: "[object Attr]",
351 type: "",
352 desc: "Passing a platform array object as the blobParts array should work (Att r[])."
353 });
354
355 test_blob(function() {
356 var blob = new Blob(['foo']); 356 var blob = new Blob(['foo']);
357 return new Blob([blob, blob]); 357 return new Blob([blob, blob]);
358 }, { 358 }, {
359 expected: "foofoo", 359 expected: "foofoo",
360 type: "", 360 type: "",
361 desc: "Array with two blobs" 361 desc: "Array with two blobs"
362 }); 362 });
363 363
364 test_blob_binary(function() { 364 test_blob_binary(function() {
365 var view = new Uint8Array([0, 255, 0]); 365 var view = new Uint8Array([0, 255, 0]);
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
486 ]; 486 ];
487 487
488 type_tests.forEach(function(t) { 488 type_tests.forEach(function(t) {
489 test(function() { 489 test(function() {
490 var arr = new Uint8Array([t[0]]).buffer; 490 var arr = new Uint8Array([t[0]]).buffer;
491 var b = new Blob([arr], {type:t[1]}); 491 var b = new Blob([arr], {type:t[1]});
492 assert_equals(b.type, t[2]); 492 assert_equals(b.type, t[2]);
493 }, "Blob with type " + format_value(t[1])); 493 }, "Blob with type " + format_value(t[1]));
494 }); 494 });
495 </script> 495 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698