зеркало из https://github.com/mozilla/gecko-dev.git
No Bug - Guard PJS tests to only apply to Nightly. (a=test-only)
This commit is contained in:
Родитель
698f43041b
Коммит
d7fc6a5f4d
|
@ -1,20 +1,22 @@
|
|||
// Array.build basics
|
||||
|
||||
load(libdir + "asserts.js");
|
||||
load(libdir + "eqArrayHelper.js");
|
||||
if (getBuildConfiguration().parallelJS) {
|
||||
load(libdir + "asserts.js");
|
||||
load(libdir + "eqArrayHelper.js");
|
||||
|
||||
function myBuild(l, f) {
|
||||
var a = [];
|
||||
for (var i = 0; i < l; i++)
|
||||
a.push(f(i));
|
||||
return a;
|
||||
function myBuild(l, f) {
|
||||
var a = [];
|
||||
for (var i = 0; i < l; i++)
|
||||
a.push(f(i));
|
||||
return a;
|
||||
}
|
||||
|
||||
// Test that build returns an identical, but new array.
|
||||
var a1 = [];
|
||||
for (var i = 0; i < 100; i++)
|
||||
a1[i] = Math.random();
|
||||
var a2 = Array.build(a1.length, (i) => a1[i]);
|
||||
|
||||
assertEq(a1 === a2, false);
|
||||
assertEqArray(a2, a1);
|
||||
}
|
||||
|
||||
// Test that build returns an identical, but new array.
|
||||
var a1 = [];
|
||||
for (var i = 0; i < 100; i++)
|
||||
a1[i] = Math.random();
|
||||
var a2 = Array.build(a1.length, (i) => a1[i]);
|
||||
|
||||
assertEq(a1 === a2, false);
|
||||
assertEqArray(a2, a1);
|
||||
|
|
|
@ -1,21 +1,23 @@
|
|||
// Check superficial features of Array.build.
|
||||
|
||||
load(libdir + "asserts.js");
|
||||
if (getBuildConfiguration().parallelJS) {
|
||||
load(libdir + "asserts.js");
|
||||
|
||||
var desc = Object.getOwnPropertyDescriptor(Array, "build");
|
||||
assertEq(desc.configurable, true);
|
||||
assertEq(desc.enumerable, false);
|
||||
assertEq(desc.writable, true);
|
||||
assertEq(Array.build.length, 2);
|
||||
assertThrowsInstanceOf(() => new Array.build(), TypeError); // not a constructor
|
||||
var desc = Object.getOwnPropertyDescriptor(Array, "build");
|
||||
assertEq(desc.configurable, true);
|
||||
assertEq(desc.enumerable, false);
|
||||
assertEq(desc.writable, true);
|
||||
assertEq(Array.build.length, 2);
|
||||
assertThrowsInstanceOf(() => new Array.build(), TypeError); // not a constructor
|
||||
|
||||
// Must pass a function to second argument.
|
||||
for (let v of [undefined, null, false, "cow"])
|
||||
assertThrowsInstanceOf(() => Array.build(1, v), TypeError);
|
||||
// Must pass a function to second argument.
|
||||
for (let v of [undefined, null, false, "cow"])
|
||||
assertThrowsInstanceOf(() => Array.build(1, v), TypeError);
|
||||
|
||||
// The first argument must be a legal length.
|
||||
assertThrowsInstanceOf(() => Array.build(-1, function() {}), RangeError);
|
||||
// The first argument must be a legal length.
|
||||
assertThrowsInstanceOf(() => Array.build(-1, function() {}), RangeError);
|
||||
|
||||
// When the this-value passed in is not a constructor, the result is an array.
|
||||
for (let v of [undefined, null, false, "cow"])
|
||||
assertEq(Array.isArray(Array.build.call(v, 1, function() {})), true);
|
||||
// When the this-value passed in is not a constructor, the result is an array.
|
||||
for (let v of [undefined, null, false, "cow"])
|
||||
assertEq(Array.isArray(Array.build.call(v, 1, function() {})), true);
|
||||
}
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
x = Uint8ClampedArray()
|
||||
ParallelArray([320], function() {
|
||||
return x[8]
|
||||
})
|
||||
if (getBuildConfiguration().parallelJS) {
|
||||
x = Uint8ClampedArray()
|
||||
ParallelArray([320], function() {
|
||||
return x[8]
|
||||
})
|
||||
}
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
// Don't crash
|
||||
|
||||
print(ParallelArray())
|
||||
String(Object.create(ParallelArray(8077, function() {})))
|
||||
if (getBuildConfiguration().parallelJS) {
|
||||
print(ParallelArray())
|
||||
String(Object.create(ParallelArray(8077, function() {})))
|
||||
}
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
// Don't crash
|
||||
|
||||
Object.defineProperty(this, "y", {
|
||||
get: function() {
|
||||
return Object.create(x)
|
||||
}
|
||||
})
|
||||
x = ParallelArray([1142], function() {})
|
||||
x = x.partition(2)
|
||||
y + y
|
||||
if (getBuildConfiguration().parallelJS) {
|
||||
Object.defineProperty(this, "y", {
|
||||
get: function() {
|
||||
return Object.create(x)
|
||||
}
|
||||
})
|
||||
x = ParallelArray([1142], function() {})
|
||||
x = x.partition(2)
|
||||
y + y
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче