Update some tests to avoid $ERROR

This commit is contained in:
Leo Balter 2017-04-24 17:57:25 -04:00
parent fa9aae7750
commit d6efc316ed
No known key found for this signature in database
GPG Key ID: 2C75F319D398E36B
6 changed files with 57 additions and 103 deletions

View File

@ -13,13 +13,8 @@ description: >
---*/
//CHECK#1
Array.prototype.myproperty = 1;
var x = Array();
if (x.myproperty !== 1) {
$ERROR('#1: Array.prototype.myproperty = 1; var x = Array(); x.myproperty === 1. Actual: ' + (x.myproperty));
}
Array.prototype.myproperty = 42;
var x = Array();
assert.sameValue(x.myproperty, 42);
//CHECK#2
if (x.hasOwnProperty('myproperty') !== false) {
$ERROR('#2: Array.prototype.myproperty = 1; var x = Array(); x.hasOwnProperty(\'myproperty\') === false. Actual: ' + (x.hasOwnProperty('myproperty')));
}
assert.sameValue(Object.prototype.hasOwnProperty.call(x, 'myproperty'), false);

View File

@ -1,33 +0,0 @@
// Copyright 2009 the Sputnik authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
info: >
A property name P (in the form of a string value) is an array index
if and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1
es5id: 15.4_A1.1_T1
description: Checking for boolean primitive
---*/
//CHECK#1
var x = [];
x[true] = 1;
if (x[1] !== undefined) {
$ERROR('#1: x = []; x[true] = 1; x[1] === undefined. Actual: ' + (x[1]));
}
//CHECK#2
if (x["true"] !== 1) {
$ERROR('#2: x = []; x[true] = 1; x["true"] === 1. Actual: ' + (x["true"]));
}
//CHECK#3
x[false] = 0;
if (x[0] !== undefined) {
$ERROR('#3: x = []; x[true] = 1; x[false] = 0; x[0] === undefined. Actual: ' + (x[0]));
}
//CHECK#4
if (x["false"] !== 0) {
$ERROR('#4: x = []; x[false] = 1; x["false"] === 0. Actual: ' + (x["false"]));
}

View File

@ -1,46 +0,0 @@
// Copyright 2009 the Sputnik authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
info: >
A property name P (in the form of a string value) is an array index
if and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1
es5id: 15.4_A1.1_T2
description: Checking for number primitive
---*/
//CHECK#1
var x = [];
x[NaN] = 1;
if (x[0] !== undefined) {
$ERROR('#1: x = []; x[NaN] = 1; x[0] === undefined. Actual: ' + (x[0]));
}
//CHECK#2
if (x["NaN"] !== 1) {
$ERROR('#2: x = []; x[NaN] = 1; x["NaN"] === 1. Actual: ' + (x["NaN"]));
}
//CHECK#3
var y = [];
y[Number.POSITIVE_INFINITY] = 1;
if (y[0] !== undefined) {
$ERROR('#3: y = []; y[Number.POSITIVE_INFINITY] = 1; y[0] === undefined. Actual: ' + (y[0]));
}
//CHECK#4
if (y["Infinity"] !== 1) {
$ERROR('#4: y = []; y[Number.POSITIVE_INFINITY] = 1; y["Infinity"] === 1. Actual: ' + (y["Infinity"]));
}
//CHECK#5
var z = [];
z[Number.NEGATIVE_INFINITY] = 1;
if (z[0] !== undefined) {
$ERROR('#5: z = []; z[Number.NEGATIVE_INFINITY] = 1; z[0] === undefined. Actual: ' + (z[0]));
}
//CHECK#6
if (z["-Infinity"] !== 1) {
$ERROR('#6: z = []; z[Number.NEGATIVE_INFINITY] = 1; z["-Infinity"] === 1. Actual: ' + (z["-Infinity"]));
}

View File

@ -0,0 +1,20 @@
// Copyright 2009 the Sputnik authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
info: >
A property name P (in the form of a string value) is an array index
if and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1
es5id: 15.4_A1.1_T1
description: Checking for boolean primitive
---*/
var x = [];
x[true] = 1;
assert.sameValue(x[1], undefined, "x[1]");
assert.sameValue(x["true"], 1, "x['true']");
x[false] = 0;
assert.sameValue(x[0], undefined, "x[0]");
assert.sameValue(x["false"], 0, "x['false']")

View File

@ -0,0 +1,26 @@
// Copyright 2009 the Sputnik authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
info: >
A property name P (in the form of a string value) is an array index
if and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1
es5id: 15.4_A1.1_T2
description: Checking for number primitive
---*/
var x = [];
x[NaN] = 1;
assert.sameValue(x[0], undefined, "x[NaN] does not cast to x[0]");
assert.sameValue(x["NaN"], 1, "x[NaN] casts to x['NaN']");
var y = [];
y[Number.POSITIVE_INFINITY] = 1;
assert.sameValue(y[0], undefined, "y[Number.POSITIVE_INFINITY] !== y[0]");
assert.sameValue(y["Infinity"], 1, "y[Number.POSITIVE_INFINITY] === y['Infinity']");
var z = [];
z[Number.NEGATIVE_INFINITY] = 1;
assert.sameValue(z[0], undefined, "z[Number.NEGATIVE_INFINITY] !== z[0]");
assert.sameValue(z["-Infinity"], 1, "z[Number.NEGATIVE_INFINITY] === z['-Infinity']");

View File

@ -9,38 +9,30 @@ es5id: 15.4_A1.1_T3
description: Checking for number primitive
---*/
//CHECK#1
var x = [];
x[4294967296] = 1;
if (x[0] !== undefined) {
$ERROR('#1: x = []; x[4294967296] = 1; x[0] === undefined. Actual: ' + (x[0]));
}
assert.sameValue(x[0], undefined, "x[0]");
assert.sameValue(x["4294967296"], 1, "x['4294967296'] !== 1");
//CHECK#2
if (x["4294967296"] !== 1) {
$ERROR('#2: x = []; x[4294967296] = 1; x["4294967296"] === 1. Actual: ' + (x["4294967296"]));
}
//CHECK#3
var y = [];
y[4294967297] = 1;
if (y[1] !== undefined) {
$ERROR('#3: y = []; y[4294967297] = 1; y[1] === undefined. Actual: ' + (y[1]));
}
$ERROR('#3: y = []; y[4294967297] = 1; y[1] === undefined. Actual: ' + (y[1]));
}
//CHECK#4
if (y["4294967297"] !== 1) {
$ERROR('#4: y = []; y[4294967297] = 1; y["4294967297"] === 1. Actual: ' + (y["4294967297"]));
$ERROR('#4: y = []; y[4294967297] = 1; y["4294967297"] === 1. Actual: ' + (y["4294967297"]));
}
//CHECK#5
var z = [];
z[1.1] = 1;
if (z[1] !== undefined) {
$ERROR('#5: z = []; z[1.1] = 1; z[1] === undefined. Actual: ' + (z[1]));
$ERROR('#5: z = []; z[1.1] = 1; z[1] === undefined. Actual: ' + (z[1]));
}
//CHECK#6
if (z["1.1"] !== 1) {
$ERROR('#6: z = []; z[1.1] = 1; z["1.1"] === 1. Actual: ' + (z["1.1"]));
$ERROR('#6: z = []; z[1.1] = 1; z["1.1"] === 1. Actual: ' + (z["1.1"]));
}