Index: LayoutTests/imported/web-platform-tests/FileAPI/support/Blob.js |
diff --git a/LayoutTests/imported/web-platform-tests/FileAPI/support/Blob.js b/LayoutTests/imported/web-platform-tests/FileAPI/support/Blob.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..1d66f23a6040f37ded99531627d0bc1ebdd9130f |
--- /dev/null |
+++ b/LayoutTests/imported/web-platform-tests/FileAPI/support/Blob.js |
@@ -0,0 +1,49 @@ |
+function test_blob(fn, expectations) { |
+ var expected = expectations.expected, |
+ type = expectations.type, |
+ desc = expectations.desc; |
+ |
+ var t = async_test(desc); |
+ t.step(function() { |
+ var blob = fn(); |
+ assert_true(blob instanceof Blob); |
+ assert_false(blob instanceof File); |
+ assert_equals(blob.type, type); |
+ assert_equals(blob.size, expected.length); |
+ |
+ var fr = new FileReader(); |
+ fr.onload = t.step_func_done(function(event) { |
+ assert_equals(this.result, expected); |
+ }, fr); |
+ fr.onerror = t.step_func(function(e) { |
+ assert_unreached("got error event on FileReader"); |
+ }); |
+ fr.readAsText(blob, "UTF-8"); |
+ }); |
+} |
+ |
+function test_blob_binary(fn, expectations) { |
+ var expected = expectations.expected, |
+ type = expectations.type, |
+ desc = expectations.desc; |
+ |
+ var t = async_test(desc); |
+ t.step(function() { |
+ var blob = fn(); |
+ assert_true(blob instanceof Blob); |
+ assert_false(blob instanceof File); |
+ assert_equals(blob.type, type); |
+ assert_equals(blob.size, expected.length); |
+ |
+ var fr = new FileReader(); |
+ fr.onload = t.step_func_done(function(event) { |
+ assert_true(this.result instanceof ArrayBuffer, |
+ "Result should be an ArrayBuffer"); |
+ assert_array_equals(new Uint8Array(this.result), expected); |
+ }, fr); |
+ fr.onerror = t.step_func(function(e) { |
+ assert_unreached("got error event on FileReader"); |
+ }); |
+ fr.readAsArrayBuffer(blob); |
+ }); |
+} |