mirror of https://github.com/tc39/test262.git
Merge pull request #285 from anba/for-in-undefined
Additional tests with incorrect for-in context
This commit is contained in:
commit
3b6953a3b4
|
@ -21,5 +21,5 @@ for (var p in Array.prototype.concat){
|
|||
}
|
||||
|
||||
if (result !== true) {
|
||||
$ERROR('#2: result = true; for (p in Array.concat) { if (p === "length") result = false; } result === true;');
|
||||
$ERROR('#2: result = true; for (p in Array.prototype.concat) { if (p === "length") result = false; } result === true;');
|
||||
}
|
||||
|
|
|
@ -14,12 +14,12 @@ if (Array.prototype.join.propertyIsEnumerable('length') !== false) {
|
|||
|
||||
//CHECK#2
|
||||
var result = true;
|
||||
for (var p in Array.join){
|
||||
for (var p in Array.prototype.join){
|
||||
if (p === "length") {
|
||||
result = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (result !== true) {
|
||||
$ERROR('#2: result = true; for (p in Array.join) { if (p === "length") result = false; } result === true;');
|
||||
$ERROR('#2: result = true; for (p in Array.prototype.join) { if (p === "length") result = false; } result === true;');
|
||||
}
|
||||
|
|
|
@ -14,12 +14,12 @@ if (Array.prototype.pop.propertyIsEnumerable('length') !== false) {
|
|||
|
||||
//CHECK#2
|
||||
var result = true;
|
||||
for (var p in Array.pop){
|
||||
for (var p in Array.prototype.pop){
|
||||
if (p === "length") {
|
||||
result = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (result !== true) {
|
||||
$ERROR('#2: result = true; for (p in Array.pop) { if (p === "length") result = false; } result === true;');
|
||||
$ERROR('#2: result = true; for (p in Array.prototype.pop) { if (p === "length") result = false; } result === true;');
|
||||
}
|
||||
|
|
|
@ -14,12 +14,12 @@ if (Array.prototype.push.propertyIsEnumerable('length') !== false) {
|
|||
|
||||
//CHECK#2
|
||||
var result = true;
|
||||
for (var p in Array.push){
|
||||
for (var p in Array.prototype.push){
|
||||
if (p === "length") {
|
||||
result = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (result !== true) {
|
||||
$ERROR('#2: result = true; for (p in Array.push) { if (p === "length") result = false; } result === true;');
|
||||
$ERROR('#2: result = true; for (p in Array.prototype.push) { if (p === "length") result = false; } result === true;');
|
||||
}
|
||||
|
|
|
@ -14,12 +14,12 @@ if (Array.prototype.reverse.propertyIsEnumerable('length') !== false) {
|
|||
|
||||
//CHECK#2
|
||||
var result = true;
|
||||
for (p in Array.reverse){
|
||||
for (p in Array.prototype.reverse){
|
||||
if (p === "length") {
|
||||
var result = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (result !== true) {
|
||||
$ERROR('#2: result = true; for (p in Array.reverse) { if (p === "length") result = false; } result === true;');
|
||||
$ERROR('#2: result = true; for (p in Array.prototype.reverse) { if (p === "length") result = false; } result === true;');
|
||||
}
|
||||
|
|
|
@ -14,12 +14,12 @@ if (Array.prototype.shift.propertyIsEnumerable('length') !== false) {
|
|||
|
||||
//CHECK#2
|
||||
var result = true;
|
||||
for (var p in Array.shift){
|
||||
for (var p in Array.prototype.shift){
|
||||
if (p === "length") {
|
||||
result = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (result !== true) {
|
||||
$ERROR('#2: result = true; for (p in Array.shift) { if (p === "length") result = false; } result === true;');
|
||||
$ERROR('#2: result = true; for (p in Array.prototype.shift) { if (p === "length") result = false; } result === true;');
|
||||
}
|
||||
|
|
|
@ -14,12 +14,12 @@ if (Array.prototype.slice.propertyIsEnumerable('length') !== false) {
|
|||
|
||||
//CHECK#2
|
||||
var result = true;
|
||||
for (var p in Array.slice){
|
||||
for (var p in Array.prototype.slice){
|
||||
if (p === "length") {
|
||||
result = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (result !== true) {
|
||||
$ERROR('#2: result = true; for (p in Array.slice) { if (p === "length") result = false; } result === true;');
|
||||
$ERROR('#2: result = true; for (p in Array.prototype.slice) { if (p === "length") result = false; } result === true;');
|
||||
}
|
||||
|
|
|
@ -14,12 +14,12 @@ if (Array.prototype.sort.propertyIsEnumerable('length') !== false) {
|
|||
|
||||
//CHECK#2
|
||||
var result = true;
|
||||
for (var p in Array.sort){
|
||||
for (var p in Array.prototype.sort){
|
||||
if (p === "length") {
|
||||
result = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (result !== true) {
|
||||
$ERROR('#2: result = true; for (p in Array.sort) { if (p === "length") result = false; } result === true;');
|
||||
$ERROR('#2: result = true; for (p in Array.prototype.sort) { if (p === "length") result = false; } result === true;');
|
||||
}
|
||||
|
|
|
@ -14,12 +14,12 @@ if (Array.prototype.splice.propertyIsEnumerable('length') !== false) {
|
|||
|
||||
//CHECK#2
|
||||
var result = true;
|
||||
for (var p in Array.splice){
|
||||
for (var p in Array.prototype.splice){
|
||||
if (p === "length") {
|
||||
result = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (result !== true) {
|
||||
$ERROR('#2: result = true; for (p in Array.splice) { if (p === "length") result = false; } result === true;');
|
||||
$ERROR('#2: result = true; for (p in Array.prototype.splice) { if (p === "length") result = false; } result === true;');
|
||||
}
|
||||
|
|
|
@ -14,12 +14,12 @@ if (Array.prototype.toLocaleString.propertyIsEnumerable('length') !== false) {
|
|||
|
||||
//CHECK#2
|
||||
var result = true;
|
||||
for (var p in Array.toLocaleString){
|
||||
for (var p in Array.prototype.toLocaleString){
|
||||
if (p === "length") {
|
||||
result = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (result !== true) {
|
||||
$ERROR('#2: result = true; for (p in Array.toLocaleString) { if (p === "length") result = false; } result === true;');
|
||||
$ERROR('#2: result = true; for (p in Array.prototype.toLocaleString) { if (p === "length") result = false; } result === true;');
|
||||
}
|
||||
|
|
|
@ -14,12 +14,12 @@ if (Array.prototype.toString.propertyIsEnumerable('length') !== false) {
|
|||
|
||||
//CHECK#2
|
||||
var result = true;
|
||||
for (var p in Array.toString){
|
||||
for (var p in Array.prototype.toString){
|
||||
if (p === "length") {
|
||||
result = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (result !== true) {
|
||||
$ERROR('#2: result = true; for (p in Array.toString) { if (p === "length") result = false; } result === true;');
|
||||
$ERROR('#2: result = true; for (p in Array.prototype.toString) { if (p === "length") result = false; } result === true;');
|
||||
}
|
||||
|
|
|
@ -14,12 +14,12 @@ if (Array.prototype.unshift.propertyIsEnumerable('length') !== false) {
|
|||
|
||||
//CHECK#2
|
||||
var result = true;
|
||||
for (var p in Array.unshift){
|
||||
for (var p in Array.prototype.unshift){
|
||||
if (p === "length") {
|
||||
result = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (result !== true) {
|
||||
$ERROR('#2: result = true; for (p in Array.unshift) { if (p === "length") result = false; } result === true;');
|
||||
$ERROR('#2: result = true; for (p in Array.prototype.unshift) { if (p === "length") result = false; } result === true;');
|
||||
}
|
||||
|
|
|
@ -33,7 +33,9 @@ iterable[Symbol.iterator] = function() {
|
|||
};
|
||||
Set.prototype.add = function() { throw new Error(); }
|
||||
|
||||
new Set(iterable);
|
||||
assert.throws(Error, function() {
|
||||
new Set(iterable);
|
||||
});
|
||||
|
||||
assert.sameValue(
|
||||
count, 1, "The iterator is closed when `Set.prototype.add` throws an error."
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
info: Global object properties have attributes { DontEnum }
|
||||
es5id: 10.2.3_A2.2_T1
|
||||
description: Function execution context - Value Properties
|
||||
flags: [noStrict]
|
||||
---*/
|
||||
|
||||
function test() {
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
info: Global object properties have attributes { DontEnum }
|
||||
es5id: 10.2.3_A2.2_T2
|
||||
description: Function execution context - Function Properties
|
||||
flags: [noStrict]
|
||||
---*/
|
||||
|
||||
function test() {
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
info: Global object properties have attributes { DontEnum }
|
||||
es5id: 10.2.3_A2.2_T3
|
||||
description: Function execution context - Constructor Properties
|
||||
flags: [noStrict]
|
||||
---*/
|
||||
|
||||
function test() {
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
info: Global object properties have attributes { DontEnum }
|
||||
es5id: 10.2.3_A2.2_T4
|
||||
description: Function execution context - Other Properties
|
||||
flags: [noStrict]
|
||||
---*/
|
||||
|
||||
function test() {
|
||||
|
|
|
@ -15,6 +15,6 @@ includes: [runTestCase.js]
|
|||
|
||||
function testcase() {
|
||||
var foo = Function("'use strict'; for (var tempIndex in this) {if (tempIndex===\"caller\") {return false;}}; return true;");
|
||||
return foo();
|
||||
return foo.call(foo);
|
||||
}
|
||||
runTestCase(testcase);
|
||||
|
|
|
@ -15,6 +15,6 @@ includes: [runTestCase.js]
|
|||
|
||||
function testcase() {
|
||||
var foo = new Function("'use strict'; for (var tempIndex in this) {if (tempIndex===\"arguments\") {return false;}}; return true;");
|
||||
return foo();
|
||||
return foo.call(foo);
|
||||
}
|
||||
runTestCase(testcase);
|
||||
|
|
|
@ -15,6 +15,6 @@ includes: [runTestCase.js]
|
|||
|
||||
function testcase() {
|
||||
var foo = Function("'use strict'; for (var tempIndex in this) {if (tempIndex===\"arguments\") {return false;}}; return true;");
|
||||
return foo();
|
||||
return foo.call(foo);
|
||||
}
|
||||
runTestCase(testcase);
|
||||
|
|
|
@ -23,6 +23,6 @@ function testcase() {
|
|||
}
|
||||
return true;
|
||||
}
|
||||
return foo();
|
||||
return foo.call(foo);
|
||||
}
|
||||
runTestCase(testcase);
|
||||
|
|
|
@ -23,6 +23,6 @@ function testcase() {
|
|||
}
|
||||
return true;
|
||||
}
|
||||
return foo();
|
||||
return foo.call(foo);
|
||||
}
|
||||
runTestCase(testcase);
|
||||
|
|
|
@ -15,6 +15,6 @@ includes: [runTestCase.js]
|
|||
|
||||
function testcase() {
|
||||
var foo = new Function("'use strict'; for (var tempIndex in this) {if (tempIndex===\"caller\") {return false;}}; return true;");
|
||||
return foo();
|
||||
return foo.call(foo);
|
||||
}
|
||||
runTestCase(testcase);
|
||||
|
|
Loading…
Reference in New Issue