From: dslomov@chromium.org Date: Tue, 7 May 2013 14:03:50 +0000 (+0000) Subject: Update mjsunit tests to be complaian with ES6 implementation of typed arrays X-Git-Tag: upstream/4.7.83~14318 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e45abf08cc41cb88b9368849099b8dc4753ed380;p=platform%2Fupstream%2Fv8.git Update mjsunit tests to be complaian with ES6 implementation of typed arrays R=rossberg@chromium.org Review URL: https://codereview.chromium.org/14580012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14575 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- diff --git a/test/mjsunit/external-array-no-sse2.js b/test/mjsunit/external-array-no-sse2.js index 0b843d8..b3d91a5 100644 --- a/test/mjsunit/external-array-no-sse2.js +++ b/test/mjsunit/external-array-no-sse2.js @@ -49,12 +49,6 @@ f(a); assertEquals(0, a[0]); assertEquals(0, a[1]); -// No-parameter constructor should fail right now. -function abfunc1() { - return new ArrayBuffer(); -} -assertThrows(abfunc1); - // Test derivation from an ArrayBuffer var ab = new ArrayBuffer(12); assertInstance(ab, ArrayBuffer); @@ -161,12 +155,10 @@ assertSame(a.buffer, (new Float32Array(a.buffer,4)).buffer); assertSame(a.buffer, (new Int8Array(a.buffer,3,51)).buffer); assertInstance(a.buffer, ArrayBuffer); -// Test the correct behavior of the |BYTES_PER_ELEMENT| property (which is -// "constant", but not read-only). +// Test the correct behavior of the |BYTES_PER_ELEMENT| property. a = new Int32Array(2); assertEquals(4, a.BYTES_PER_ELEMENT); a.BYTES_PER_ELEMENT = 42; -assertEquals(42, a.BYTES_PER_ELEMENT); a = new Uint8Array(2); assertEquals(1, a.BYTES_PER_ELEMENT); a = new Int16Array(2); @@ -202,15 +194,6 @@ assertEquals(3.5, get(array, 1)); // Test non-number parameters. var array_with_length_from_non_number = new Int32Array("2"); assertEquals(2, array_with_length_from_non_number.length); -array_with_length_from_non_number = new Int32Array(undefined); -assertEquals(0, array_with_length_from_non_number.length); -var foo = { valueOf: function() { return 3; } }; -array_with_length_from_non_number = new Int32Array(foo); -assertEquals(3, array_with_length_from_non_number.length); -foo = { toString: function() { return "4"; } }; -array_with_length_from_non_number = new Int32Array(foo); -assertEquals(4, array_with_length_from_non_number.length); - // Test loads and stores. types = [Array, Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, @@ -359,8 +342,6 @@ for (var t = 0; t < types.length; t++) { a.length = 2; assertEquals(kElementCount, a.length); assertTrue(delete a.length); - a.length = 2; - assertEquals(2, a.length); // Make sure bounds checks are handled correctly for external arrays. run_bounds_test(a); @@ -539,8 +520,6 @@ assertSame(a.buffer, aa.buffer); assertThrows(function(){ a.subarray.call({}, 0) }); assertThrows(function(){ a.subarray.call([], 0) }); -assertThrows(function(){ a.subarray.call(a) }); - // Call constructors directly as functions, and through .call and .apply diff --git a/test/mjsunit/external-array.js b/test/mjsunit/external-array.js index 85a8cc5..e61ff45 100644 --- a/test/mjsunit/external-array.js +++ b/test/mjsunit/external-array.js @@ -49,12 +49,6 @@ f(a); assertEquals(0, a[0]); assertEquals(0, a[1]); -// No-parameter constructor should fail right now. -function abfunc1() { - return new ArrayBuffer(); -} -assertThrows(abfunc1); - // Test derivation from an ArrayBuffer var ab = new ArrayBuffer(12); assertInstance(ab, ArrayBuffer); @@ -161,12 +155,10 @@ assertSame(a.buffer, (new Float32Array(a.buffer,4)).buffer); assertSame(a.buffer, (new Int8Array(a.buffer,3,51)).buffer); assertInstance(a.buffer, ArrayBuffer); -// Test the correct behavior of the |BYTES_PER_ELEMENT| property (which is -// "constant", but not read-only). +// Test the correct behavior of the |BYTES_PER_ELEMENT| property a = new Int32Array(2); assertEquals(4, a.BYTES_PER_ELEMENT); a.BYTES_PER_ELEMENT = 42; -assertEquals(42, a.BYTES_PER_ELEMENT); a = new Uint8Array(2); assertEquals(1, a.BYTES_PER_ELEMENT); a = new Int16Array(2); @@ -202,15 +194,6 @@ assertEquals(3.5, get(array, 1)); // Test non-number parameters. var array_with_length_from_non_number = new Int32Array("2"); assertEquals(2, array_with_length_from_non_number.length); -array_with_length_from_non_number = new Int32Array(undefined); -assertEquals(0, array_with_length_from_non_number.length); -var foo = { valueOf: function() { return 3; } }; -array_with_length_from_non_number = new Int32Array(foo); -assertEquals(3, array_with_length_from_non_number.length); -foo = { toString: function() { return "4"; } }; -array_with_length_from_non_number = new Int32Array(foo); -assertEquals(4, array_with_length_from_non_number.length); - // Test loads and stores. types = [Array, Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, @@ -359,8 +342,6 @@ for (var t = 0; t < types.length; t++) { a.length = 2; assertEquals(kElementCount, a.length); assertTrue(delete a.length); - a.length = 2; - assertEquals(2, a.length); // Make sure bounds checks are handled correctly for external arrays. run_bounds_test(a); @@ -452,7 +433,6 @@ assertEquals(0, a.length); a[0] = 1; assertEquals(undefined, a[0]); - // Check construction from arrays. a = new Uint32Array([]); assertInstance(a, Uint32Array); @@ -539,8 +519,6 @@ assertSame(a.buffer, aa.buffer); assertThrows(function(){ a.subarray.call({}, 0) }); assertThrows(function(){ a.subarray.call([], 0) }); -assertThrows(function(){ a.subarray.call(a) }); - // Call constructors directly as functions, and through .call and .apply