blob: c66c16dbc36a5b6fe3b1c4989eaba61ea60e6486 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
// |jit-test| error: TypeError;
// String.prototype.replace takes too long time with gczeal(4) if
// --no-baseline --no-ion options.
if (typeof inJit == "function" && typeof inJit() == "string") {
assertEq(inJit(), "Baseline is disabled.");
// This test expects TypeError.
toPrinted(null);
}
function printStatus (msg) {}
function toPrinted(value) {
value = value.replace(/\\n/g, 'NL')
}
function reportCompare (expected, actual, description) {
printStatus ("Expected value '" + toPrinted(expected) + "' matched actual value '" + toPrinted(actual) + "'");
}
var UBound = 0;
var statusitems = [];
var actual = '';
var actualvalues = [];
var expect= '';
var expectedvalues = [];
testThis('x()');
testThis('"abc"()');
testThis('x()');
testThis('Date(12345)()');
testThis('x()');
testThis('1()');
testThis('x()');
testThis('void(0)()');
testThis('x()');
testThis('[1,2,3,4,5](1)');
gczeal(4);
testThis('x(1)');
checkThis('(function (y) {return y+1;})("abc")');
checkThis('f("abc")');
function testThis(sInvalidSyntax) {
expectedvalues[UBound] = expect;
actualvalues[UBound] = actual;
UBound++;
}
function checkThis(sValidSyntax) {
for (var i=0; i<UBound; i++)
reportCompare(expectedvalues[i], actualvalues[i], statusitems[i]);
}
var actualvalues = [];
for (var i=0; i<UBound; i++)
reportCompare(expectedvalues[i], actualvalues[i], statusitems[i]);
|