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

Side by Side Diff: test/mjsunit/harmony/sharedarraybuffer.js

Issue 1192433003: Revert of Add %TypedArray% to proto chain (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 6 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 unified diff | Download patch
« no previous file with comments | « test/mjsunit/get-prototype-of.js ('k') | test/mjsunit/harmony/typedarrays.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 the V8 project authors. All rights reserved. 1 // Copyright 2015 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 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 // Typed arrays using SharedArrayBuffers 80 // Typed arrays using SharedArrayBuffers
81 81
82 // TODO(binji): how many of these tests are necessary if there are no new 82 // TODO(binji): how many of these tests are necessary if there are no new
83 // TypedArray types? 83 // TypedArray types?
84 84
85 function MakeSharedTypedArray(constr, numElements) { 85 function MakeSharedTypedArray(constr, numElements) {
86 var sab = new SharedArrayBuffer(constr.BYTES_PER_ELEMENT * numElements); 86 var sab = new SharedArrayBuffer(constr.BYTES_PER_ELEMENT * numElements);
87 return new constr(sab); 87 return new constr(sab);
88 } 88 }
89 89
90 function getPropertyDescriptor(object, field, expectedDepth) {
91 for (var depth = 0; depth < expectedDepth; depth++) {
92 assertFalse(Object.hasOwnProperty(object, field));
93 object = object.__proto__;
94 }
95 return Object.getOwnPropertyDescriptor(object, field);
96 }
97
98 function TestTypedArray(constr, elementSize, typicalElement) { 90 function TestTypedArray(constr, elementSize, typicalElement) {
99 assertSame(elementSize, constr.BYTES_PER_ELEMENT); 91 assertSame(elementSize, constr.BYTES_PER_ELEMENT);
100 92
101 var sab = new SharedArrayBuffer(256*elementSize); 93 var sab = new SharedArrayBuffer(256*elementSize);
102 94
103 var a0 = new constr(30); 95 var a0 = new constr(30);
104 assertEquals("[object " + constr.name + "]", 96 assertEquals("[object " + constr.name + "]",
105 Object.prototype.toString.call(a0)); 97 Object.prototype.toString.call(a0));
106 98
107 // TODO(binji): Should this return false here? It is a view, but it doesn't 99 // TODO(binji): Should this return false here? It is a view, but it doesn't
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
204 var aOverAbLen0 = new constr(abLen0); 196 var aOverAbLen0 = new constr(abLen0);
205 assertSame(abLen0, aOverAbLen0.buffer); 197 assertSame(abLen0, aOverAbLen0.buffer);
206 assertSame(elementSize, aOverAbLen0.BYTES_PER_ELEMENT); 198 assertSame(elementSize, aOverAbLen0.BYTES_PER_ELEMENT);
207 assertSame(0, aOverAbLen0.length); 199 assertSame(0, aOverAbLen0.length);
208 assertSame(0, aOverAbLen0.byteLength); 200 assertSame(0, aOverAbLen0.byteLength);
209 assertSame(0, aOverAbLen0.byteOffset); 201 assertSame(0, aOverAbLen0.byteOffset);
210 202
211 var a = new constr(sab, 64*elementSize, 128); 203 var a = new constr(sab, 64*elementSize, 128);
212 assertEquals("[object " + constr.name + "]", 204 assertEquals("[object " + constr.name + "]",
213 Object.prototype.toString.call(a)); 205 Object.prototype.toString.call(a));
214 var desc = getPropertyDescriptor(constr.prototype, Symbol.toStringTag, 1); 206 var desc = Object.getOwnPropertyDescriptor(
207 constr.prototype, Symbol.toStringTag);
215 assertTrue(desc.configurable); 208 assertTrue(desc.configurable);
216 assertFalse(desc.enumerable); 209 assertFalse(desc.enumerable);
217 assertFalse(!!desc.writable); 210 assertFalse(!!desc.writable);
218 assertFalse(!!desc.set); 211 assertFalse(!!desc.set);
219 assertEquals("function", typeof desc.get); 212 assertEquals("function", typeof desc.get);
220 } 213 }
221 214
222 TestTypedArray(Uint8Array, 1, 0xFF); 215 TestTypedArray(Uint8Array, 1, 0xFF);
223 TestTypedArray(Int8Array, 1, -0x7F); 216 TestTypedArray(Int8Array, 1, -0x7F);
224 TestTypedArray(Uint16Array, 2, 0xFFFF); 217 TestTypedArray(Uint16Array, 2, 0xFFFF);
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
310 Uint16Array, 303 Uint16Array,
311 Int16Array, 304 Int16Array,
312 Uint32Array, 305 Uint32Array,
313 Int32Array, 306 Int32Array,
314 Uint8ClampedArray, 307 Uint8ClampedArray,
315 Float32Array, 308 Float32Array,
316 Float64Array]; 309 Float64Array];
317 310
318 function TestPropertyTypeChecks(constructor) { 311 function TestPropertyTypeChecks(constructor) {
319 function CheckProperty(name) { 312 function CheckProperty(name) {
320 var d = getPropertyDescriptor(constructor.prototype, name, 1); 313 var d = Object.getOwnPropertyDescriptor(constructor.prototype, name);
321 var o = {}; 314 var o = {};
322 assertThrows(function() {d.get.call(o);}, TypeError); 315 assertThrows(function() {d.get.call(o);}, TypeError);
323 for (var i = 0; i < typedArrayConstructors.length; i++) { 316 for (var i = 0; i < typedArrayConstructors.length; i++) {
324 var ctor = typedArrayConstructors[i]; 317 var ctor = typedArrayConstructors[i];
325 var a = MakeSharedTypedArray(ctor, 10); 318 var a = MakeSharedTypedArray(ctor, 10);
326 d.get.call(a); // shouldn't throw on any type 319 if (ctor === constructor) {
320 d.get.call(a); // shouldn't throw
321 } else {
322 assertThrows(function() {d.get.call(a);}, TypeError);
323 }
327 } 324 }
328 } 325 }
329 326
330 CheckProperty("buffer"); 327 CheckProperty("buffer");
331 CheckProperty("byteOffset"); 328 CheckProperty("byteOffset");
332 CheckProperty("byteLength"); 329 CheckProperty("byteLength");
333 CheckProperty("length"); 330 CheckProperty("length");
334 } 331 }
335 332
336 for(i = 0; i < typedArrayConstructors.length; i++) { 333 for(i = 0; i < typedArrayConstructors.length; i++) {
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after
571 for(i = 0; i < typedArrayConstructors.length; i++) { 568 for(i = 0; i < typedArrayConstructors.length; i++) {
572 TestArbitrary(MakeSharedTypedArray(typedArrayConstructors[i], 10)); 569 TestArbitrary(MakeSharedTypedArray(typedArrayConstructors[i], 10));
573 } 570 }
574 571
575 // Test direct constructor call 572 // Test direct constructor call
576 assertThrows(function() { SharedArrayBuffer(); }, TypeError); 573 assertThrows(function() { SharedArrayBuffer(); }, TypeError);
577 for(i = 0; i < typedArrayConstructors.length; i++) { 574 for(i = 0; i < typedArrayConstructors.length; i++) {
578 assertThrows(function(i) { typedArrayConstructors[i](); }.bind(this, i), 575 assertThrows(function(i) { typedArrayConstructors[i](); }.bind(this, i),
579 TypeError); 576 TypeError);
580 } 577 }
OLDNEW
« no previous file with comments | « test/mjsunit/get-prototype-of.js ('k') | test/mjsunit/harmony/typedarrays.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698