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

Unified Diff: third_party/WebKit/LayoutTests/virtual/sharedarraybuffer/fast/files/file-constructor-expected.txt

Issue 1526183004: Prevent SharedArrayBuffer views from being used in bindings (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: some tests Created 3 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/virtual/sharedarraybuffer/fast/files/file-constructor-expected.txt
diff --git a/third_party/WebKit/LayoutTests/virtual/sharedarraybuffer/fast/files/file-constructor-expected.txt b/third_party/WebKit/LayoutTests/virtual/sharedarraybuffer/fast/files/file-constructor-expected.txt
new file mode 100644
index 0000000000000000000000000000000000000000..81790ea05bbebb57d86fec98033e721e4d651393
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/virtual/sharedarraybuffer/fast/files/file-constructor-expected.txt
@@ -0,0 +1,112 @@
+Test the File constructor.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS (new File([], 'world.html')) instanceof window.File is true
+PASS (new File(['hello'], 'world.html')) instanceof window.File is true
+PASS (new File(['hello'], 'world.html', {})) instanceof window.File is true
+PASS (new File(['hello'], 'world.html', {type:'text/html'})) instanceof window.File is true
+PASS (new File(['hello'], 'world.html', {type:'text/html', endings:'native'})) instanceof window.File is true
+PASS (new File(['hello'], 'world.html', {type:'text/html', endings:'transparent'})) instanceof window.File is true
+PASS (new File([], 'world.html')) instanceof window.File is true
+PASS (new File()) threw exception TypeError: Failed to construct 'File': 2 arguments required, but only 0 present..
+PASS (new File([])) threw exception TypeError: Failed to construct 'File': 2 arguments required, but only 1 present..
+PASS (new File([], null)) instanceof window.File is true
+PASS (new File([], 1)) instanceof window.File is true
+PASS (new File([], '')) instanceof window.File is true
+PASS (new File([], document)) instanceof window.File is true
+PASS new File('hello', 'world.html') threw exception TypeError: Failed to construct 'File': The 1st argument is neither an array, nor does it have indexed properties..
+PASS new File(0, 'world.html') threw exception TypeError: Failed to construct 'File': The 1st argument is neither an array, nor does it have indexed properties..
+PASS new File(null, 'world.html') threw exception TypeError: Failed to construct 'File': The 1st argument is neither an array, nor does it have indexed properties..
+PASS (new File([], 'world.html')) instanceof window.File is true
+PASS (new File(['stringPrimitive'], 'world.html')) instanceof window.File is true
+PASS (new File([String('stringObject')], 'world.html')) instanceof window.File is true
+PASS (new File([new Blob], 'world.html')) instanceof window.File is true
+PASS (new File([new Blob([new Blob])], 'world.html')) instanceof window.File is true
+PASS (new Blob([new File([], 'world.txt')])) instanceof window.Blob is true
+PASS (new Blob([new Blob([new File([new Blob], 'world.txt')])])) instanceof window.Blob is true
+PASS (new File([new File([], 'world.txt')], 'world.html')) instanceof window.File is true
+PASS (new File([new Blob([new File([new Blob], 'world.txt')])], 'world.html')) instanceof window.File is true
+PASS (new File([12], 'world.html')).size is 2
+PASS (new File([[]], 'world.html')).size is 0
+PASS (new File([{}], 'world.html')).size is 15
+PASS (new File([document], 'world.html')).size is 21
+PASS (new File([toStringingObj], 'world.html')).size is 8
+PASS new File([throwingObj], 'world.html') threw exception Error.
+PASS (new File([], null)).name is 'null'
+PASS (new File([], 12)).name is '12'
+PASS (new File([], '')).name is ''
+PASS (new File([], {})).name is '[object Object]'
+PASS (new File([], document)).name is '[object HTMLDocument]'
+PASS (new File([], toStringingObj)).name is 'A string'
+PASS (new File([], throwingObj)).name threw exception Error.
+PASS (new File([], 'world.html', {unknownKey:'value'})) instanceof window.File is true
+PASS new File([], 'world.html', {endings:'illegalValue'}) threw exception TypeError: Failed to construct 'File': The provided value 'illegalValue' is not a valid enum value of type NormalizeLineEndings..
+PASS new File([], 'world.html', {endings:throwingObj}) threw exception Error.
+PASS new File([], 'world.html', {type:throwingObj}) threw exception Error.
+PASS new File([], 'world.html', {type:'helloĆ®'}) threw exception SyntaxError: Failed to construct 'File': The 'type' property must consist of ASCII characters..
+PASS (new File([], 'world.html', null)) instanceof window.File is true
+PASS (new File([], 'world.html', undefined)) instanceof window.File is true
+PASS (new File([], 'world.html', 123)) instanceof window.File threw exception TypeError: Failed to construct 'File': parameter 3 ('options') is not an object..
+PASS (new File([], 'world.html', 123.4)) instanceof window.File threw exception TypeError: Failed to construct 'File': parameter 3 ('options') is not an object..
+PASS (new File([], 'world.html', true)) instanceof window.File threw exception TypeError: Failed to construct 'File': parameter 3 ('options') is not an object..
+PASS (new File([], 'world.html', 'abc')) instanceof window.File threw exception TypeError: Failed to construct 'File': parameter 3 ('options') is not an object..
+PASS (new File([], 'world.html', [])) instanceof window.File is true
+PASS (new File([], 'world.html', /abc/)) instanceof window.File is true
+PASS (new File([], 'world.html', function () {})) instanceof window.File is true
+PASS (new File([], 'world.html', {type:'text/html'})).name is 'world.html'
+PASS (new File([], 'world.html', {type:'text/html'})).type is 'text/html'
+PASS (new File([], 'world.html', {type:'text/html'})).size is 0
+PASS (new File([], 'world.html', {type:'text/plain;charset=UTF-8'})).type is 'text/plain;charset=utf-8'
+PASS (new File([], 'world.html', {lastModified: 441532800000})).lastModified is 441532800000
+PASS (new File([], 'world.html')).lastModified is equivalent to Date.now().
+PASS (new File([], 'world.html', {})).lastModified is equivalent to Date.now().
+PASS (new File([], 'world.html', {type: 'text/plain'})).lastModified is equivalent to Date.now().
+PASS (new File([], 'world.html', {lastModified: new Date(441532800000)})).lastModified is 441532800000
+PASS (new File([], 'world.html', {lastModified: 441532800000})).lastModifiedDate instanceof Date is true
+PASS (new File([], 'world.html', {lastModified: 441532800000})).lastModifiedDate.valueOf() is 441532800000
+PASS window.File.length is 2
+PASS new File([new DataView(new ArrayBuffer(100))], 'world.html').size is 100
+PASS new File([new Uint8Array(100)], 'world.html').size is 100
+PASS new File([new Uint8ClampedArray(100)], 'world.html').size is 100
+PASS new File([new Uint16Array(100)], 'world.html').size is 200
+PASS new File([new Uint32Array(100)], 'world.html').size is 400
+PASS new File([new Int8Array(100)], 'world.html').size is 100
+PASS new File([new Int16Array(100)], 'world.html').size is 200
+PASS new File([new Int32Array(100)], 'world.html').size is 400
+PASS new File([new Float32Array(100)], 'world.html').size is 400
+PASS new File([new Float64Array(100)], 'world.html').size is 800
+PASS new File([new Float64Array(100), new Int32Array(100), new Uint8Array(100), new DataView(new ArrayBuffer(100))], 'world.html').size is 1400
+PASS new File([new Blob([new Int32Array(100)]), new Uint8Array(100), new Float32Array(100), new DataView(new ArrayBuffer(100))], 'world.html').size is 1000
+PASS new File([new Blob([new Int32Array(100)]), new File([new Uint16Array(100)], 'world.txt'), new Uint8Array(100), new Float32Array(100), new DataView(new ArrayBuffer(100))], 'world.html').size is 1200
+PASS new File([new Uint8Array(new SharedArrayBuffer(100))], 'world.html') threw exception TypeError: Failed to construct 'File': sequence parameter 1 contains a view of a SharedArrayBuffer..
+PASS new File([new Uint8ClampedArray(new SharedArrayBuffer(100))], 'world.html') threw exception TypeError: Failed to construct 'File': sequence parameter 1 contains a view of a SharedArrayBuffer..
+PASS new File([new Uint16Array(new SharedArrayBuffer(100))], 'world.html') threw exception TypeError: Failed to construct 'File': sequence parameter 1 contains a view of a SharedArrayBuffer..
+PASS new File([new Uint32Array(new SharedArrayBuffer(100))], 'world.html') threw exception TypeError: Failed to construct 'File': sequence parameter 1 contains a view of a SharedArrayBuffer..
+PASS new File([new Int8Array(new SharedArrayBuffer(100))], 'world.html') threw exception TypeError: Failed to construct 'File': sequence parameter 1 contains a view of a SharedArrayBuffer..
+PASS new File([new Int16Array(new SharedArrayBuffer(100))], 'world.html') threw exception TypeError: Failed to construct 'File': sequence parameter 1 contains a view of a SharedArrayBuffer..
+PASS new File([new Int32Array(new SharedArrayBuffer(100))], 'world.html') threw exception TypeError: Failed to construct 'File': sequence parameter 1 contains a view of a SharedArrayBuffer..
+PASS new File([new Float32Array(new SharedArrayBuffer(100))], 'world.html') threw exception TypeError: Failed to construct 'File': sequence parameter 1 contains a view of a SharedArrayBuffer..
+PASS new File([new Float64Array(new SharedArrayBuffer(104))], 'world.html') threw exception TypeError: Failed to construct 'File': sequence parameter 1 contains a view of a SharedArrayBuffer..
+PASS new File([(new DataView(new ArrayBuffer(100))).buffer], 'world.html').size is 100
+PASS new File([(new Uint8Array(100)).buffer], 'world.html').size is 100
+PASS new File([(new Uint8ClampedArray(100)).buffer], 'world.html').size is 100
+PASS new File([(new Uint16Array(100)).buffer], 'world.html').size is 200
+PASS new File([(new Uint32Array(100)).buffer], 'world.html').size is 400
+PASS new File([(new Int8Array(100)).buffer], 'world.html').size is 100
+PASS new File([(new Int16Array(100)).buffer], 'world.html').size is 200
+PASS new File([(new Int32Array(100)).buffer], 'world.html').size is 400
+PASS new File([(new Float32Array(100)).buffer], 'world.html').size is 400
+PASS new File([(new Float64Array(100)).buffer], 'world.html').size is 800
+PASS new File([(new Float64Array(100)).buffer, (new Int32Array(100)).buffer, (new Uint8Array(100)).buffer, (new DataView(new ArrayBuffer(100))).buffer], 'world.html').size is 1400
+PASS new File([new Blob([(new Int32Array(100)).buffer]), (new Uint8Array(100)).buffer, (new Float32Array(100)).buffer, (new DataView(new ArrayBuffer(100))).buffer], 'world.html').size is 1000
+PASS new File([new Blob([(new Int32Array(100)).buffer]), new File([new Uint16Array(100).buffer], 'world.txt'), (new Uint8Array(100)).buffer, (new Float32Array(100)).buffer, (new DataView(new ArrayBuffer(100))).buffer], 'world.html').size is 1200
+PASS new Blob([new Blob([new Int32Array(100)]), new File([new Uint16Array(100)], 'world.txt'), new Uint8Array(100), new Float32Array(100), new DataView(new ArrayBuffer(100))]).size is 1200
+PASS new Blob([new Blob([(new Int32Array(100)).buffer]), new File([new Uint16Array(100).buffer], 'world.txt'), (new Uint8Array(100)).buffer, (new Float32Array(100)).buffer, (new DataView(new ArrayBuffer(100))).buffer]).size is 1200
+PASS new File({length: 0}, 'world.txt').size is 0
+PASS new File({length: 1, 0: 'string'}, 'world.txt').size is 6
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Powered by Google App Engine
This is Rietveld 408576698