1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/js/src/jit-test/tests/parallel/surfaces-1.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,55 @@ 1.4 +load(libdir + "eqArrayHelper.js"); 1.5 + 1.6 +// ParallelArray surfaces 1.7 + 1.8 +function test() { 1.9 + var desc = Object.getOwnPropertyDescriptor(this, "ParallelArray"); 1.10 + assertEq(desc.enumerable, false); 1.11 + assertEq(desc.configurable, true); 1.12 + assertEq(desc.writable, true); 1.13 + 1.14 + assertEq(typeof ParallelArray, 'function'); 1.15 + assertEq(Object.keys(ParallelArray).length, 0); 1.16 + assertEq(ParallelArray.length, 0); 1.17 + assertEq(ParallelArray.name, "ParallelArray"); 1.18 + 1.19 + assertEq(Object.getPrototypeOf(ParallelArray.prototype), Object.prototype); 1.20 + assertEq(Object.prototype.toString.call(ParallelArray.prototype), "[object ParallelArray]"); 1.21 + assertEq(Object.prototype.toString.call(new ParallelArray), "[object ParallelArray]"); 1.22 + assertEq(Object.prototype.toString.call(ParallelArray()), "[object ParallelArray]"); 1.23 + assertEq(Object.keys(ParallelArray.prototype).join(), ""); 1.24 + assertEq(ParallelArray.prototype.constructor, ParallelArray); 1.25 + 1.26 + function checkMethod(name, arity) { 1.27 + var desc = Object.getOwnPropertyDescriptor(ParallelArray.prototype, name); 1.28 + assertEq(desc.enumerable, false); 1.29 + assertEq(desc.configurable, true); 1.30 + assertEq(desc.writable, true); 1.31 + assertEq(typeof desc.value, 'function'); 1.32 + assertEq(desc.value.name, name); 1.33 + assertEq(desc.value.length, arity); 1.34 + } 1.35 + 1.36 + checkMethod("map", 1); 1.37 + checkMethod("reduce", 1); 1.38 + checkMethod("scan", 1); 1.39 + checkMethod("scatter", 1); 1.40 + checkMethod("filter", 1); 1.41 + checkMethod("flatten", 0); 1.42 + checkMethod("partition", 1); 1.43 + checkMethod("get", 1); 1.44 + 1.45 + function checkAccessor(name) { 1.46 + var desc = Object.getOwnPropertyDescriptor(ParallelArray.prototype, name); 1.47 + assertEq(desc.enumerable, false); 1.48 + assertEq(desc.configurable, false); 1.49 + assertEq(typeof desc.get, 'function'); 1.50 + assertEq(desc.set, undefined); 1.51 + } 1.52 + 1.53 + checkAccessor("length"); 1.54 + checkAccessor("shape"); 1.55 +} 1.56 + 1.57 +// FIXME(bug 844882) self-hosted object not array-like, exposes internal properties 1.58 +// if (getBuildConfiguration().parallelJS) test();