Index: third_party/WebKit/LayoutTests/fast/files/file-constructor.html |
diff --git a/third_party/WebKit/LayoutTests/fast/files/file-constructor.html b/third_party/WebKit/LayoutTests/fast/files/file-constructor.html |
index f634db7d7750c47089f34b20d8028339ac706848..37dc7e6ba33825dac322c8c26e1a99a45fb8c577 100644 |
--- a/third_party/WebKit/LayoutTests/fast/files/file-constructor.html |
+++ b/third_party/WebKit/LayoutTests/fast/files/file-constructor.html |
@@ -69,7 +69,19 @@ shouldBeTrue("(new File([], 'world.html', {unknownKey:'value'})) instanceof wind |
shouldThrow("new File([], 'world.html', {endings:'illegalValue'})", "'TypeError: Failed to construct \\'File\\': The provided value \\'illegalValue\\' is not a valid enum value of type NormalizeLineEndings.'"); |
shouldThrow("new File([], 'world.html', {endings:throwingObj})", "'Error'"); |
shouldThrow("new File([], 'world.html', {type:throwingObj})", "'Error'"); |
-shouldThrow("new File([], 'world.html', {type:'hello\u00EE'})", "'SyntaxError: Failed to construct \\'File\\': The \\'type\\' property must consist of ASCII characters.'"); |
+ |
+// Test non-ASCII type handling |
+shouldBeEqualToString("new File([], 'world.html', {type:'hello\\u00EE'}).type", ""); |
+ |
+// Test non-printable-ASCII type handling |
+shouldBeEqualToString("new File([], 'world.html', {type:'hello\\u001F'}).type", ""); |
+shouldBeEqualToString("new File([], 'world.html', {type:'hello\\u007F'}).type", ""); |
+ |
+// Test lowercasing of type |
+shouldBeEqualToString("new File([], 'world.html', {type:'ABC/abc'}).type", "abc/abc"); |
+ |
+// Test non-parsable type |
+shouldBeEqualToString("new File([], 'world.html', {type:'123ABCabc'}).type", "123abcabc"); |
// Test various non-object literals being used as property bags. |
shouldBeTrue("(new File([], 'world.html', null)) instanceof window.File"); |