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

Side by Side Diff: test/mjsunit/es6/typedarray.js

Issue 1500543002: [es6] Unify ArrayBuffer and SharedArrayBuffer constructors. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years 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 // Copyright 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 21 matching lines...) Expand all
32 function TestByteLength(param, expectedByteLength) { 32 function TestByteLength(param, expectedByteLength) {
33 var ab = new ArrayBuffer(param); 33 var ab = new ArrayBuffer(param);
34 assertSame(expectedByteLength, ab.byteLength); 34 assertSame(expectedByteLength, ab.byteLength);
35 } 35 }
36 36
37 function TestArrayBufferCreation() { 37 function TestArrayBufferCreation() {
38 TestByteLength(1, 1); 38 TestByteLength(1, 1);
39 TestByteLength(256, 256); 39 TestByteLength(256, 256);
40 TestByteLength(2.567, 2); 40 TestByteLength(2.567, 2);
41 41
42 TestByteLength("abc", 0); 42 TestByteLength("0", 0);
43 43
44 TestByteLength(0, 0); 44 TestByteLength(0, 0);
45 45
46 assertThrows(function() { new ArrayBuffer(-10); }, RangeError); 46 assertThrows(function() { new ArrayBuffer(-10); }, RangeError);
47 assertThrows(function() { new ArrayBuffer(-2.567); }, RangeError); 47 assertThrows(function() { new ArrayBuffer(-2.567); }, RangeError);
48 48
49 /* TODO[dslomov]: Reenable the test 49 /* TODO[dslomov]: Reenable the test
50 assertThrows(function() { 50 assertThrows(function() {
51 var ab1 = new ArrayBuffer(0xFFFFFFFFFFFF) 51 var ab1 = new ArrayBuffer(0xFFFFFFFFFFFF)
52 }, RangeError); 52 }, RangeError);
53 */ 53 */
54 54
55 var ab = new ArrayBuffer(); 55 var ab = new ArrayBuffer(0);
56 assertSame(0, ab.byteLength); 56 assertSame(0, ab.byteLength);
57 assertEquals("[object ArrayBuffer]", 57 assertEquals("[object ArrayBuffer]",
58 Object.prototype.toString.call(ab)); 58 Object.prototype.toString.call(ab));
59 } 59 }
60 60
61 TestArrayBufferCreation(); 61 TestArrayBufferCreation();
62 62
63 function TestByteLengthNotWritable() { 63 function TestByteLengthNotWritable() {
64 var ab = new ArrayBuffer(1024); 64 var ab = new ArrayBuffer(1024);
65 assertSame(1024, ab.byteLength); 65 assertSame(1024, ab.byteLength);
(...skipping 656 matching lines...) Expand 10 before | Expand all | Expand 10 after
722 function props(x) { 722 function props(x) {
723 var array = []; 723 var array = [];
724 for (var p in x) array.push(p); 724 for (var p in x) array.push(p);
725 return array.sort(); 725 return array.sort();
726 } 726 }
727 assertArrayEquals([], props(func)); 727 assertArrayEquals([], props(func));
728 assertArrayEquals([], props(func.prototype)); 728 assertArrayEquals([], props(func.prototype));
729 if (obj) 729 if (obj)
730 assertArrayEquals([], props(obj)); 730 assertArrayEquals([], props(obj));
731 } 731 }
732 TestEnumerable(ArrayBuffer, new ArrayBuffer()); 732 TestEnumerable(ArrayBuffer, new ArrayBuffer(0));
733 for(i = 0; i < typedArrayConstructors.length; i++) { 733 for(i = 0; i < typedArrayConstructors.length; i++) {
734 TestEnumerable(typedArrayConstructors[i]); 734 TestEnumerable(typedArrayConstructors[i]);
735 } 735 }
736 TestEnumerable(DataView, new DataView(new ArrayBuffer())); 736 TestEnumerable(DataView, new DataView(new ArrayBuffer(0)));
737 737
738 // Test arbitrary properties on ArrayBuffer 738 // Test arbitrary properties on ArrayBuffer
739 function TestArbitrary(m) { 739 function TestArbitrary(m) {
740 function TestProperty(map, property, value) { 740 function TestProperty(map, property, value) {
741 map[property] = value; 741 map[property] = value;
742 assertEquals(value, map[property]); 742 assertEquals(value, map[property]);
743 } 743 }
744 for (var i = 0; i < 20; i++) { 744 for (var i = 0; i < 20; i++) {
745 TestProperty(m, 'key' + i, 'val' + i); 745 TestProperty(m, 'key' + i, 'val' + i);
746 TestProperty(m, 'foo' + i, 'bar' + i); 746 TestProperty(m, 'foo' + i, 'bar' + i);
747 } 747 }
748 } 748 }
749 TestArbitrary(new ArrayBuffer(256)); 749 TestArbitrary(new ArrayBuffer(256));
750 for(i = 0; i < typedArrayConstructors.length; i++) { 750 for(i = 0; i < typedArrayConstructors.length; i++) {
751 TestArbitrary(new typedArrayConstructors[i](10)); 751 TestArbitrary(new typedArrayConstructors[i](10));
752 } 752 }
753 TestArbitrary(new DataView(new ArrayBuffer(256))); 753 TestArbitrary(new DataView(new ArrayBuffer(256)));
754 754
755 755
756 // Test direct constructor call 756 // Test direct constructor call
757 assertThrows(function() { ArrayBuffer(); }, TypeError); 757 assertThrows(function() { ArrayBuffer(0); }, TypeError);
758 assertThrows(function() { DataView(new ArrayBuffer()); }, TypeError); 758 assertThrows(function() { DataView(new ArrayBuffer(0)); }, TypeError);
759 759
760 function TestNonConfigurableProperties(constructor) { 760 function TestNonConfigurableProperties(constructor) {
761 var arr = new constructor([100]) 761 var arr = new constructor([100])
762 assertFalse(Object.getOwnPropertyDescriptor(arr,"0").configurable) 762 assertFalse(Object.getOwnPropertyDescriptor(arr,"0").configurable)
763 assertFalse(delete arr[0]) 763 assertFalse(delete arr[0])
764 } 764 }
765 765
766 for(i = 0; i < typedArrayConstructors.length; i++) { 766 for(i = 0; i < typedArrayConstructors.length; i++) {
767 TestNonConfigurableProperties(typedArrayConstructors[i]); 767 TestNonConfigurableProperties(typedArrayConstructors[i]);
768 } 768 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698