mirror of
https://github.com/tc39/test262.git
synced 2025-07-07 22:24:40 +02:00
Reduce reliance on fnGlobalObject.js
This harness function is not necessary in the majority of cases in which it is used. Remove its usage to simplify tests and decrease the amount of domain-specific knowledge necessary to contribute to the test suite. Persist the harness function itself for use by future tests for ES2015 modules (such a helper is necessary for tests that are interpreted as module code).
This commit is contained in:
parent
9aa4dced8d
commit
eb644bb2da
@ -6,12 +6,10 @@ es5id: B.2.1
|
|||||||
description: >
|
description: >
|
||||||
Object.getOwnPropertyDescriptor returns data desc for functions on
|
Object.getOwnPropertyDescriptor returns data desc for functions on
|
||||||
built-ins (Global.escape)
|
built-ins (Global.escape)
|
||||||
includes:
|
includes: [propertyHelper.js]
|
||||||
- fnGlobalObject.js
|
|
||||||
- propertyHelper.js
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var global = fnGlobalObject();
|
var global = this;
|
||||||
|
|
||||||
verifyWritable(global, "escape");
|
verifyWritable(global, "escape");
|
||||||
verifyNotEnumerable(global, "escape");
|
verifyNotEnumerable(global, "escape");
|
||||||
|
@ -6,13 +6,9 @@ es5id: B.2.2
|
|||||||
description: >
|
description: >
|
||||||
Object.getOwnPropertyDescriptor returns data desc for functions on
|
Object.getOwnPropertyDescriptor returns data desc for functions on
|
||||||
built-ins (Global.unescape)
|
built-ins (Global.unescape)
|
||||||
includes:
|
includes: [propertyHelper.js]
|
||||||
- fnGlobalObject.js
|
|
||||||
- propertyHelper.js
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var global = fnGlobalObject();
|
verifyWritable(this, "unescape");
|
||||||
|
verifyNotEnumerable(this, "unescape");
|
||||||
verifyWritable(global, "unescape");
|
verifyConfigurable(this, "unescape");
|
||||||
verifyNotEnumerable(global, "unescape");
|
|
||||||
verifyConfigurable(global, "unescape");
|
|
||||||
|
@ -4,7 +4,6 @@
|
|||||||
/*---
|
/*---
|
||||||
es5id: 15.4.3.2-1-15
|
es5id: 15.4.3.2-1-15
|
||||||
description: Array.isArray applied to the global object
|
description: Array.isArray applied to the global object
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
assert.sameValue(Array.isArray(fnGlobalObject()), false, 'Array.isArray(fnGlobalObject())');
|
assert.sameValue(Array.isArray(this), false, 'Array.isArray(this)');
|
||||||
|
@ -4,7 +4,6 @@
|
|||||||
/*---
|
/*---
|
||||||
es5id: 15.4.4.16-2-15
|
es5id: 15.4.4.16-2-15
|
||||||
description: Array.prototype.every - 'length' is property of the global object
|
description: Array.prototype.every - 'length' is property of the global object
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
function callbackfn1(val, idx, obj) {
|
function callbackfn1(val, idx, obj) {
|
||||||
@ -15,11 +14,11 @@ includes: [fnGlobalObject.js]
|
|||||||
return val > 11;
|
return val > 11;
|
||||||
}
|
}
|
||||||
|
|
||||||
var oldLen = fnGlobalObject().length;
|
var oldLen = this.length;
|
||||||
fnGlobalObject()[0] = 12;
|
this[0] = 12;
|
||||||
fnGlobalObject()[1] = 11;
|
this[1] = 11;
|
||||||
fnGlobalObject()[2] = 9;
|
this[2] = 9;
|
||||||
fnGlobalObject().length = 2;
|
this.length = 2;
|
||||||
|
|
||||||
assert(Array.prototype.every.call(fnGlobalObject(), callbackfn1), 'Array.prototype.every.call(fnGlobalObject(), callbackfn1) !== true');
|
assert(Array.prototype.every.call(this, callbackfn1), 'Array.prototype.every.call(this, callbackfn1) !== true');
|
||||||
assert.sameValue(Array.prototype.every.call(fnGlobalObject(), callbackfn2), false, 'Array.prototype.every.call(fnGlobalObject(), callbackfn2)');
|
assert.sameValue(Array.prototype.every.call(this, callbackfn2), false, 'Array.prototype.every.call(this, callbackfn2)');
|
||||||
|
@ -5,12 +5,13 @@
|
|||||||
es5id: 15.4.4.16-5-1
|
es5id: 15.4.4.16-5-1
|
||||||
description: Array.prototype.every - thisArg not passed
|
description: Array.prototype.every - thisArg not passed
|
||||||
flags: [noStrict]
|
flags: [noStrict]
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
var global = this;
|
||||||
|
|
||||||
function callbackfn(val, idx, obj)
|
function callbackfn(val, idx, obj)
|
||||||
{
|
{
|
||||||
return this === fnGlobalObject();
|
return this === global;
|
||||||
}
|
}
|
||||||
|
|
||||||
var arr = [1];
|
var arr = [1];
|
||||||
|
@ -4,15 +4,15 @@
|
|||||||
/*---
|
/*---
|
||||||
es5id: 15.4.4.16-5-21
|
es5id: 15.4.4.16-5-21
|
||||||
description: Array.prototype.every - the global object can be used as thisArg
|
description: Array.prototype.every - the global object can be used as thisArg
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
var global = this;
|
||||||
var accessed = false;
|
var accessed = false;
|
||||||
|
|
||||||
function callbackfn(val, idx, obj) {
|
function callbackfn(val, idx, obj) {
|
||||||
accessed = true;
|
accessed = true;
|
||||||
return this === fnGlobalObject();
|
return this === global;
|
||||||
}
|
}
|
||||||
|
|
||||||
assert([11].every(callbackfn, fnGlobalObject()), '[11].every(callbackfn, fnGlobalObject()) !== true');
|
assert([11].every(callbackfn, global), '[11].every(callbackfn, global) !== true');
|
||||||
assert(accessed, 'accessed !== true');
|
assert(accessed, 'accessed !== true');
|
||||||
|
@ -6,7 +6,6 @@ es5id: 15.4.4.16-7-c-i-23
|
|||||||
description: >
|
description: >
|
||||||
Array.prototype.every - This object is an global object which
|
Array.prototype.every - This object is an global object which
|
||||||
contains index property
|
contains index property
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
function callbackfn(val, idx, obj) {
|
function callbackfn(val, idx, obj) {
|
||||||
@ -17,8 +16,8 @@ includes: [fnGlobalObject.js]
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var oldLen = fnGlobalObject().length;
|
var oldLen = this.length;
|
||||||
fnGlobalObject()[0] = 11;
|
this[0] = 11;
|
||||||
fnGlobalObject().length = 1;
|
this.length = 1;
|
||||||
|
|
||||||
assert.sameValue(Array.prototype.every.call(fnGlobalObject(), callbackfn), false, 'Array.prototype.every.call(fnGlobalObject(), callbackfn)');
|
assert.sameValue(Array.prototype.every.call(this, callbackfn), false, 'Array.prototype.every.call(this, callbackfn)');
|
||||||
|
@ -6,14 +6,14 @@ es5id: 15.4.4.16-7-c-iii-27
|
|||||||
description: >
|
description: >
|
||||||
Array.prototype.every - return value of callbackfn is the global
|
Array.prototype.every - return value of callbackfn is the global
|
||||||
object
|
object
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
var global = this;
|
||||||
var accessed = false;
|
var accessed = false;
|
||||||
|
|
||||||
function callbackfn(val, idx, obj) {
|
function callbackfn(val, idx, obj) {
|
||||||
accessed = true;
|
accessed = true;
|
||||||
return fnGlobalObject();
|
return global;
|
||||||
}
|
}
|
||||||
|
|
||||||
assert([11].every(callbackfn), '[11].every(callbackfn) !== true');
|
assert([11].every(callbackfn), '[11].every(callbackfn) !== true');
|
||||||
|
@ -4,18 +4,17 @@
|
|||||||
/*---
|
/*---
|
||||||
es5id: 15.4.4.20-2-15
|
es5id: 15.4.4.20-2-15
|
||||||
description: Array.prototype.filter - 'length' is property of the global object
|
description: Array.prototype.filter - 'length' is property of the global object
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
function callbackfn(val, idx, obj) {
|
function callbackfn(val, idx, obj) {
|
||||||
return obj.length === 2;
|
return obj.length === 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
var oldLen = fnGlobalObject().length;
|
var oldLen = this.length;
|
||||||
fnGlobalObject()[0] = 12;
|
this[0] = 12;
|
||||||
fnGlobalObject()[1] = 11;
|
this[1] = 11;
|
||||||
fnGlobalObject()[2] = 9;
|
this[2] = 9;
|
||||||
fnGlobalObject().length = 2;
|
this.length = 2;
|
||||||
var newArr = Array.prototype.filter.call(fnGlobalObject(), callbackfn);
|
var newArr = Array.prototype.filter.call(this, callbackfn);
|
||||||
|
|
||||||
assert.sameValue(newArr.length, 2, 'newArr.length');
|
assert.sameValue(newArr.length, 2, 'newArr.length');
|
||||||
|
@ -4,17 +4,18 @@
|
|||||||
/*---
|
/*---
|
||||||
es5id: 15.4.4.20-5-21
|
es5id: 15.4.4.20-5-21
|
||||||
description: Array.prototype.filter - the global object can be used as thisArg
|
description: Array.prototype.filter - the global object can be used as thisArg
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
var global = this;
|
||||||
|
|
||||||
var accessed = false;
|
var accessed = false;
|
||||||
|
|
||||||
function callbackfn(val, idx, obj) {
|
function callbackfn(val, idx, obj) {
|
||||||
accessed = true;
|
accessed = true;
|
||||||
return this === fnGlobalObject();
|
return this === global;
|
||||||
}
|
}
|
||||||
|
|
||||||
var newArr = [11].filter(callbackfn, fnGlobalObject());
|
var newArr = [11].filter(callbackfn, global);
|
||||||
|
|
||||||
assert.sameValue(newArr[0], 11, 'newArr[0]');
|
assert.sameValue(newArr[0], 11, 'newArr[0]');
|
||||||
assert(accessed, 'accessed !== true');
|
assert(accessed, 'accessed !== true');
|
||||||
|
@ -6,17 +6,16 @@ es5id: 15.4.4.20-9-c-i-23
|
|||||||
description: >
|
description: >
|
||||||
Array.prototype.filter - This object is the global object which
|
Array.prototype.filter - This object is the global object which
|
||||||
contains index property
|
contains index property
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
function callbackfn(val, idx, obj) {
|
function callbackfn(val, idx, obj) {
|
||||||
return idx === 0 && val === 11;
|
return idx === 0 && val === 11;
|
||||||
}
|
}
|
||||||
|
|
||||||
var oldLen = fnGlobalObject().length;
|
var oldLen = this.length;
|
||||||
fnGlobalObject()[0] = 11;
|
this[0] = 11;
|
||||||
fnGlobalObject().length = 1;
|
this.length = 1;
|
||||||
var newArr = Array.prototype.filter.call(fnGlobalObject(), callbackfn);
|
var newArr = Array.prototype.filter.call(this, callbackfn);
|
||||||
|
|
||||||
assert.sameValue(newArr.length, 1, 'newArr.length');
|
assert.sameValue(newArr.length, 1, 'newArr.length');
|
||||||
assert.sameValue(newArr[0], 11, 'newArr[0]');
|
assert.sameValue(newArr[0], 11, 'newArr[0]');
|
||||||
|
@ -6,11 +6,11 @@ es5id: 15.4.4.20-9-c-iii-28
|
|||||||
description: >
|
description: >
|
||||||
Array.prototype.filter - return value of callbackfn is the global
|
Array.prototype.filter - return value of callbackfn is the global
|
||||||
object
|
object
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
var global = this;
|
||||||
function callbackfn(val, idx, obj) {
|
function callbackfn(val, idx, obj) {
|
||||||
return fnGlobalObject();
|
return global;
|
||||||
}
|
}
|
||||||
|
|
||||||
var newArr = [11].filter(callbackfn);
|
var newArr = [11].filter(callbackfn);
|
||||||
|
@ -4,7 +4,6 @@
|
|||||||
/*---
|
/*---
|
||||||
es5id: 15.4.4.18-2-15
|
es5id: 15.4.4.18-2-15
|
||||||
description: Array.prototype.forEach - 'length' is property of the global object
|
description: Array.prototype.forEach - 'length' is property of the global object
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var result = false;
|
var result = false;
|
||||||
@ -12,11 +11,11 @@ includes: [fnGlobalObject.js]
|
|||||||
result = (obj.length === 2);
|
result = (obj.length === 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
var oldLen = fnGlobalObject().length;
|
var oldLen = this.length;
|
||||||
fnGlobalObject()[0] = 12;
|
this[0] = 12;
|
||||||
fnGlobalObject()[1] = 11;
|
this[1] = 11;
|
||||||
fnGlobalObject()[2] = 9;
|
this[2] = 9;
|
||||||
fnGlobalObject().length = 2;
|
this.length = 2;
|
||||||
Array.prototype.forEach.call(fnGlobalObject(), callbackfn);
|
Array.prototype.forEach.call(this, callbackfn);
|
||||||
|
|
||||||
assert(result, 'result !== true');
|
assert(result, 'result !== true');
|
||||||
|
@ -4,14 +4,14 @@
|
|||||||
/*---
|
/*---
|
||||||
es5id: 15.4.4.18-5-21
|
es5id: 15.4.4.18-5-21
|
||||||
description: Array.prototype.forEach - the global object can be used as thisArg
|
description: Array.prototype.forEach - the global object can be used as thisArg
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
var global = this;
|
||||||
var result = false;
|
var result = false;
|
||||||
function callbackfn(val, idx, obj) {
|
function callbackfn(val, idx, obj) {
|
||||||
result = (this === fnGlobalObject());
|
result = (this === global);
|
||||||
}
|
}
|
||||||
|
|
||||||
[11].forEach(callbackfn, fnGlobalObject());
|
[11].forEach(callbackfn, this);
|
||||||
|
|
||||||
assert(result, 'result !== true');
|
assert(result, 'result !== true');
|
||||||
|
@ -6,7 +6,6 @@ es5id: 15.4.4.18-7-c-i-23
|
|||||||
description: >
|
description: >
|
||||||
Array.prototype.forEach - This object is an global object which
|
Array.prototype.forEach - This object is an global object which
|
||||||
contains index property
|
contains index property
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var testResult = false;
|
var testResult = false;
|
||||||
@ -17,10 +16,10 @@ includes: [fnGlobalObject.js]
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var oldLen = fnGlobalObject().length;
|
var oldLen = this.length;
|
||||||
fnGlobalObject()[0] = 11;
|
this[0] = 11;
|
||||||
fnGlobalObject().length = 1;
|
this.length = 1;
|
||||||
|
|
||||||
Array.prototype.forEach.call(fnGlobalObject(), callbackfn);
|
Array.prototype.forEach.call(this, callbackfn);
|
||||||
|
|
||||||
assert(testResult, 'testResult !== true');
|
assert(testResult, 'testResult !== true');
|
||||||
|
@ -4,11 +4,10 @@
|
|||||||
/*---
|
/*---
|
||||||
es5id: 15.4.4.14-1-17
|
es5id: 15.4.4.14-1-17
|
||||||
description: Array.prototype.indexOf applied to the global object
|
description: Array.prototype.indexOf applied to the global object
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var oldLen = fnGlobalObject().length;
|
var oldLen = this.length;
|
||||||
fnGlobalObject()[1] = true;
|
this[1] = true;
|
||||||
fnGlobalObject().length = 2;
|
this.length = 2;
|
||||||
|
|
||||||
assert.sameValue(Array.prototype.indexOf.call(fnGlobalObject(), true), 1, 'Array.prototype.indexOf.call(fnGlobalObject(), true)');
|
assert.sameValue(Array.prototype.indexOf.call(this, true), 1, 'Array.prototype.indexOf.call(this, true)');
|
||||||
|
@ -4,19 +4,18 @@
|
|||||||
/*---
|
/*---
|
||||||
es5id: 15.4.4.14-2-15
|
es5id: 15.4.4.14-2-15
|
||||||
description: Array.prototype.indexOf - 'length' is property of the global object
|
description: Array.prototype.indexOf - 'length' is property of the global object
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var targetObj = {};
|
var targetObj = {};
|
||||||
|
|
||||||
var oldLen = fnGlobalObject().length;
|
var oldLen = this.length;
|
||||||
fnGlobalObject().length = 2;
|
this.length = 2;
|
||||||
|
|
||||||
fnGlobalObject()[1] = targetObj;
|
this[1] = targetObj;
|
||||||
|
|
||||||
assert.sameValue(Array.prototype.indexOf.call(fnGlobalObject(), targetObj), 1, 'Array.prototype.indexOf.call(fnGlobalObject(), targetObj)');
|
assert.sameValue(Array.prototype.indexOf.call(this, targetObj), 1, 'Array.prototype.indexOf.call(this, targetObj)');
|
||||||
|
|
||||||
fnGlobalObject()[1] = {};
|
this[1] = {};
|
||||||
fnGlobalObject()[2] = targetObj;
|
this[2] = targetObj;
|
||||||
|
|
||||||
assert.sameValue(Array.prototype.indexOf.call(fnGlobalObject(), targetObj), -1, 'Array.prototype.indexOf.call(fnGlobalObject(), targetObj)');
|
assert.sameValue(Array.prototype.indexOf.call(this, targetObj), -1, 'Array.prototype.indexOf.call(this, targetObj)');
|
||||||
|
@ -4,17 +4,16 @@
|
|||||||
/*---
|
/*---
|
||||||
es5id: 15.4.4.14-9-b-i-23
|
es5id: 15.4.4.14-9-b-i-23
|
||||||
description: Array.prototype.indexOf - This object is the global object
|
description: Array.prototype.indexOf - This object is the global object
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var targetObj = {};
|
var targetObj = {};
|
||||||
|
|
||||||
var oldLen = fnGlobalObject().length;
|
var oldLen = this.length;
|
||||||
fnGlobalObject()[0] = targetObj;
|
this[0] = targetObj;
|
||||||
fnGlobalObject()[100] = "100";
|
this[100] = "100";
|
||||||
fnGlobalObject()[200] = "200";
|
this[200] = "200";
|
||||||
fnGlobalObject().length = 200;
|
this.length = 200;
|
||||||
|
|
||||||
assert.sameValue(Array.prototype.indexOf.call(fnGlobalObject(), targetObj), 0, 'Array.prototype.indexOf.call(fnGlobalObject(), targetObj)');
|
assert.sameValue(Array.prototype.indexOf.call(this, targetObj), 0, 'Array.prototype.indexOf.call(this, targetObj)');
|
||||||
assert.sameValue(Array.prototype.indexOf.call(fnGlobalObject(), "100"), 100, 'Array.prototype.indexOf.call(fnGlobalObject(), "100")');
|
assert.sameValue(Array.prototype.indexOf.call(this, "100"), 100, 'Array.prototype.indexOf.call(this, "100")');
|
||||||
assert.sameValue(Array.prototype.indexOf.call(fnGlobalObject(), "200"), -1, 'Array.prototype.indexOf.call(fnGlobalObject(), "200")');
|
assert.sameValue(Array.prototype.indexOf.call(this, "200"), -1, 'Array.prototype.indexOf.call(this, "200")');
|
||||||
|
@ -4,13 +4,12 @@
|
|||||||
/*---
|
/*---
|
||||||
es5id: 15.4.4.15-1-17
|
es5id: 15.4.4.15-1-17
|
||||||
description: Array.prototype.lastIndexOf applied to the global object
|
description: Array.prototype.lastIndexOf applied to the global object
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var targetObj = ["global"];
|
var targetObj = ["global"];
|
||||||
|
|
||||||
var oldLen = fnGlobalObject().length;
|
var oldLen = this.length;
|
||||||
fnGlobalObject()[1] = targetObj;
|
this[1] = targetObj;
|
||||||
fnGlobalObject().length = 3;
|
this.length = 3;
|
||||||
|
|
||||||
assert.sameValue(Array.prototype.lastIndexOf.call(fnGlobalObject(), targetObj), 1, 'Array.prototype.lastIndexOf.call(fnGlobalObject(), targetObj)');
|
assert.sameValue(Array.prototype.lastIndexOf.call(this, targetObj), 1, 'Array.prototype.lastIndexOf.call(this, targetObj)');
|
||||||
|
@ -6,19 +6,18 @@ es5id: 15.4.4.15-2-15
|
|||||||
description: >
|
description: >
|
||||||
Array.prototype.lastIndexOf - 'length' is property of the global
|
Array.prototype.lastIndexOf - 'length' is property of the global
|
||||||
object
|
object
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var targetObj = {};
|
var targetObj = {};
|
||||||
|
|
||||||
var oldLen = fnGlobalObject().length;
|
var oldLen = this.length;
|
||||||
fnGlobalObject().length = 2;
|
this.length = 2;
|
||||||
|
|
||||||
fnGlobalObject()[1] = targetObj;
|
this[1] = targetObj;
|
||||||
|
|
||||||
assert.sameValue(Array.prototype.lastIndexOf.call(fnGlobalObject(), targetObj), 1);
|
assert.sameValue(Array.prototype.lastIndexOf.call(this, targetObj), 1);
|
||||||
|
|
||||||
fnGlobalObject()[1] = {};
|
this[1] = {};
|
||||||
fnGlobalObject()[2] = targetObj;
|
this[2] = targetObj;
|
||||||
|
|
||||||
assert.sameValue(Array.prototype.lastIndexOf.call(fnGlobalObject(), targetObj), -1);
|
assert.sameValue(Array.prototype.lastIndexOf.call(this, targetObj), -1);
|
||||||
|
@ -6,7 +6,6 @@ es5id: 15.4.4.15-3-19
|
|||||||
description: >
|
description: >
|
||||||
Array.prototype.lastIndexOf - value of 'length' is an Object which
|
Array.prototype.lastIndexOf - value of 'length' is an Object which
|
||||||
has an own toString method
|
has an own toString method
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
// objects inherit the default valueOf() method from Object
|
// objects inherit the default valueOf() method from Object
|
||||||
@ -15,7 +14,7 @@ includes: [fnGlobalObject.js]
|
|||||||
// to a number by calling its toString() method and converting the
|
// to a number by calling its toString() method and converting the
|
||||||
// resulting string to a number.
|
// resulting string to a number.
|
||||||
|
|
||||||
var targetObj = fnGlobalObject();
|
var targetObj = this;
|
||||||
var obj = {
|
var obj = {
|
||||||
1: targetObj,
|
1: targetObj,
|
||||||
2: 2,
|
2: 2,
|
||||||
|
@ -4,17 +4,16 @@
|
|||||||
/*---
|
/*---
|
||||||
es5id: 15.4.4.15-8-b-i-23
|
es5id: 15.4.4.15-8-b-i-23
|
||||||
description: Array.prototype.lastIndexOf - This object is the global object
|
description: Array.prototype.lastIndexOf - This object is the global object
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var targetObj = {};
|
var targetObj = {};
|
||||||
|
|
||||||
var oldLen = fnGlobalObject().length;
|
var oldLen = this.length;
|
||||||
fnGlobalObject()[0] = targetObj;
|
this[0] = targetObj;
|
||||||
fnGlobalObject()[100] = "100";
|
this[100] = "100";
|
||||||
fnGlobalObject()[200] = "200";
|
this[200] = "200";
|
||||||
fnGlobalObject().length = 200;
|
this.length = 200;
|
||||||
|
|
||||||
assert.sameValue(Array.prototype.lastIndexOf.call(fnGlobalObject(), targetObj), 0, 'Array.prototype.lastIndexOf.call(fnGlobalObject(), targetObj)');
|
assert.sameValue(Array.prototype.lastIndexOf.call(this, targetObj), 0, 'Array.prototype.lastIndexOf.call(this, targetObj)');
|
||||||
assert.sameValue(Array.prototype.lastIndexOf.call(fnGlobalObject(), "100"), 100, 'Array.prototype.lastIndexOf.call(fnGlobalObject(), "100")');
|
assert.sameValue(Array.prototype.lastIndexOf.call(this, "100"), 100, 'Array.prototype.lastIndexOf.call(this, "100")');
|
||||||
assert.sameValue(Array.prototype.lastIndexOf.call(fnGlobalObject(), "200"), -1, 'Array.prototype.lastIndexOf.call(fnGlobalObject(), "200")');
|
assert.sameValue(Array.prototype.lastIndexOf.call(this, "200"), -1, 'Array.prototype.lastIndexOf.call(this, "200")');
|
||||||
|
@ -6,18 +6,17 @@ es5id: 15.4.4.19-2-15
|
|||||||
description: >
|
description: >
|
||||||
Array.prototype.map - when 'length' is property of the global
|
Array.prototype.map - when 'length' is property of the global
|
||||||
object
|
object
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
function callbackfn(val, idx, obj) {
|
function callbackfn(val, idx, obj) {
|
||||||
return val > 10;
|
return val > 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
var oldLen = fnGlobalObject().length;
|
var oldLen = this.length;
|
||||||
fnGlobalObject()[0] = 12;
|
this[0] = 12;
|
||||||
fnGlobalObject()[1] = 11;
|
this[1] = 11;
|
||||||
fnGlobalObject()[2] = 9;
|
this[2] = 9;
|
||||||
fnGlobalObject().length = 2;
|
this.length = 2;
|
||||||
var testResult = Array.prototype.map.call(fnGlobalObject(), callbackfn);
|
var testResult = Array.prototype.map.call(this, callbackfn);
|
||||||
|
|
||||||
assert.sameValue(testResult.length, 2, 'testResult.length');
|
assert.sameValue(testResult.length, 2, 'testResult.length');
|
||||||
|
@ -5,10 +5,9 @@
|
|||||||
es5id: 15.4.4.19-5-1
|
es5id: 15.4.4.19-5-1
|
||||||
description: Array.prototype.map - thisArg not passed
|
description: Array.prototype.map - thisArg not passed
|
||||||
flags: [noStrict]
|
flags: [noStrict]
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
fnGlobalObject()._15_4_4_19_5_1 = true;
|
this._15_4_4_19_5_1 = true;
|
||||||
|
|
||||||
(function() {
|
(function() {
|
||||||
var _15_4_4_19_5_1 = false;
|
var _15_4_4_19_5_1 = false;
|
||||||
|
@ -4,13 +4,13 @@
|
|||||||
/*---
|
/*---
|
||||||
es5id: 15.4.4.19-5-21
|
es5id: 15.4.4.19-5-21
|
||||||
description: Array.prototype.map - the global object can be used as thisArg
|
description: Array.prototype.map - the global object can be used as thisArg
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
var global = this;
|
||||||
function callbackfn(val, idx, obj) {
|
function callbackfn(val, idx, obj) {
|
||||||
return this === fnGlobalObject();
|
return this === global;
|
||||||
}
|
}
|
||||||
|
|
||||||
var testResult = [11].map(callbackfn, fnGlobalObject());
|
var testResult = [11].map(callbackfn, this);
|
||||||
|
|
||||||
assert.sameValue(testResult[0], true, 'testResult[0]');
|
assert.sameValue(testResult[0], true, 'testResult[0]');
|
||||||
|
@ -6,7 +6,6 @@ es5id: 15.4.4.19-8-c-i-23
|
|||||||
description: >
|
description: >
|
||||||
Array.prototype.map - This object is the global object which
|
Array.prototype.map - This object is the global object which
|
||||||
contains index property
|
contains index property
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var kValue = "abc";
|
var kValue = "abc";
|
||||||
@ -18,10 +17,10 @@ includes: [fnGlobalObject.js]
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
var oldLen = fnGlobalObject().length;
|
var oldLen = this.length;
|
||||||
fnGlobalObject()[0] = kValue;
|
this[0] = kValue;
|
||||||
fnGlobalObject().length = 2;
|
this.length = 2;
|
||||||
|
|
||||||
var testResult = Array.prototype.map.call(fnGlobalObject(), callbackfn);
|
var testResult = Array.prototype.map.call(this, callbackfn);
|
||||||
|
|
||||||
assert.sameValue(testResult[0], true, 'testResult[0]');
|
assert.sameValue(testResult[0], true, 'testResult[0]');
|
||||||
|
@ -4,17 +4,16 @@
|
|||||||
/*---
|
/*---
|
||||||
es5id: 15.4.4.21-2-15
|
es5id: 15.4.4.21-2-15
|
||||||
description: Array.prototype.reduce - 'length' is property of the global object
|
description: Array.prototype.reduce - 'length' is property of the global object
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
function callbackfn(prevVal, curVal, idx, obj) {
|
function callbackfn(prevVal, curVal, idx, obj) {
|
||||||
return (obj.length === 2);
|
return (obj.length === 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
var oldLen = fnGlobalObject().length;
|
var oldLen = this.length;
|
||||||
fnGlobalObject()[0] = 12;
|
this[0] = 12;
|
||||||
fnGlobalObject()[1] = 11;
|
this[1] = 11;
|
||||||
fnGlobalObject()[2] = 9;
|
this[2] = 9;
|
||||||
fnGlobalObject().length = 2;
|
this.length = 2;
|
||||||
|
|
||||||
assert.sameValue(Array.prototype.reduce.call(fnGlobalObject(), callbackfn, 1), true, 'Array.prototype.reduce.call(fnGlobalObject(), callbackfn, 1)');
|
assert.sameValue(Array.prototype.reduce.call(this, callbackfn, 1), true, 'Array.prototype.reduce.call(this, callbackfn, 1)');
|
||||||
|
@ -6,7 +6,6 @@ es5id: 15.4.4.21-8-b-iii-1-23
|
|||||||
description: >
|
description: >
|
||||||
Array.prototype.reduce - This object is the global object which
|
Array.prototype.reduce - This object is the global object which
|
||||||
contains index property
|
contains index property
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var testResult = false;
|
var testResult = false;
|
||||||
@ -16,12 +15,12 @@ includes: [fnGlobalObject.js]
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var oldLen = fnGlobalObject().length;
|
var oldLen = this.length;
|
||||||
fnGlobalObject()[0] = 0;
|
this[0] = 0;
|
||||||
fnGlobalObject()[1] = 1;
|
this[1] = 1;
|
||||||
fnGlobalObject()[2] = 2;
|
this[2] = 2;
|
||||||
fnGlobalObject().length = 3;
|
this.length = 3;
|
||||||
|
|
||||||
Array.prototype.reduce.call(fnGlobalObject(), callbackfn);
|
Array.prototype.reduce.call(this, callbackfn);
|
||||||
|
|
||||||
assert(testResult, 'testResult !== true');
|
assert(testResult, 'testResult !== true');
|
||||||
|
@ -6,7 +6,6 @@ es5id: 15.4.4.21-9-c-i-23
|
|||||||
description: >
|
description: >
|
||||||
Array.prototype.reduce - This object is the global object which
|
Array.prototype.reduce - This object is the global object which
|
||||||
contains index property
|
contains index property
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var testResult = false;
|
var testResult = false;
|
||||||
@ -17,11 +16,11 @@ includes: [fnGlobalObject.js]
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var oldLen = fnGlobalObject().length;
|
var oldLen = this.length;
|
||||||
fnGlobalObject()[0] = 0;
|
this[0] = 0;
|
||||||
fnGlobalObject()[1] = 1;
|
this[1] = 1;
|
||||||
fnGlobalObject().length = 2;
|
this.length = 2;
|
||||||
|
|
||||||
Array.prototype.reduce.call(fnGlobalObject(), callbackfn, initialValue);
|
Array.prototype.reduce.call(this, callbackfn, initialValue);
|
||||||
|
|
||||||
assert(testResult, 'testResult !== true');
|
assert(testResult, 'testResult !== true');
|
||||||
|
@ -6,16 +6,16 @@ es5id: 15.4.4.21-9-c-ii-37
|
|||||||
description: >
|
description: >
|
||||||
Array.prototype.reduce - the global object can be used as
|
Array.prototype.reduce - the global object can be used as
|
||||||
accumulator
|
accumulator
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
var global = this;
|
||||||
var accessed = false;
|
var accessed = false;
|
||||||
function callbackfn(prevVal, curVal, idx, obj) {
|
function callbackfn(prevVal, curVal, idx, obj) {
|
||||||
accessed = true;
|
accessed = true;
|
||||||
return prevVal === fnGlobalObject();
|
return prevVal === global;
|
||||||
}
|
}
|
||||||
|
|
||||||
var obj = { 0: 11, length: 1 };
|
var obj = { 0: 11, length: 1 };
|
||||||
|
|
||||||
assert.sameValue(Array.prototype.reduce.call(obj, callbackfn, fnGlobalObject()), true, 'Array.prototype.reduce.call(obj, callbackfn, fnGlobalObject())');
|
assert.sameValue(Array.prototype.reduce.call(obj, callbackfn, this), true, 'Array.prototype.reduce.call(obj, callbackfn, this)');
|
||||||
assert(accessed, 'accessed !== true');
|
assert(accessed, 'accessed !== true');
|
||||||
|
@ -6,21 +6,21 @@ es5id: 15.4.4.22-2-15
|
|||||||
description: >
|
description: >
|
||||||
Array.prototype.reduceRight - 'length' is property of the global
|
Array.prototype.reduceRight - 'length' is property of the global
|
||||||
object
|
object
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
var global = this;
|
||||||
var accessed = false;
|
var accessed = false;
|
||||||
|
|
||||||
function callbackfn(prevVal, curVal, idx, obj) {
|
function callbackfn(prevVal, curVal, idx, obj) {
|
||||||
accessed = true;
|
accessed = true;
|
||||||
return obj.length === fnGlobalObject().length;
|
return obj.length === global.length;
|
||||||
}
|
}
|
||||||
|
|
||||||
var oldLen = fnGlobalObject().length;
|
var oldLen = this.length;
|
||||||
fnGlobalObject()[0] = 12;
|
this[0] = 12;
|
||||||
fnGlobalObject()[1] = 11;
|
this[1] = 11;
|
||||||
fnGlobalObject()[2] = 9;
|
this[2] = 9;
|
||||||
fnGlobalObject().length = 2;
|
this.length = 2;
|
||||||
|
|
||||||
assert(Array.prototype.reduceRight.call(fnGlobalObject(), callbackfn, 111), 'Array.prototype.reduceRight.call(fnGlobalObject(), callbackfn, 111) !== true');
|
assert(Array.prototype.reduceRight.call(this, callbackfn, 111), 'Array.prototype.reduceRight.call(this, callbackfn, 111) !== true');
|
||||||
assert(accessed, 'accessed !== true');
|
assert(accessed, 'accessed !== true');
|
||||||
|
@ -6,7 +6,6 @@ es5id: 15.4.4.22-8-b-iii-1-23
|
|||||||
description: >
|
description: >
|
||||||
Array.prototype.reduceRight - This object is the global object
|
Array.prototype.reduceRight - This object is the global object
|
||||||
which contains index property
|
which contains index property
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var testResult = false;
|
var testResult = false;
|
||||||
@ -16,12 +15,12 @@ includes: [fnGlobalObject.js]
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var oldLen = fnGlobalObject().length;
|
var oldLen = this.length;
|
||||||
fnGlobalObject()[0] = 0;
|
this[0] = 0;
|
||||||
fnGlobalObject()[1] = 1;
|
this[1] = 1;
|
||||||
fnGlobalObject()[2] = 2;
|
this[2] = 2;
|
||||||
fnGlobalObject().length = 3;
|
this.length = 3;
|
||||||
|
|
||||||
Array.prototype.reduceRight.call(fnGlobalObject(), callbackfn);
|
Array.prototype.reduceRight.call(this, callbackfn);
|
||||||
|
|
||||||
assert(testResult, 'testResult !== true');
|
assert(testResult, 'testResult !== true');
|
||||||
|
@ -6,7 +6,6 @@ es5id: 15.4.4.22-9-c-i-23
|
|||||||
description: >
|
description: >
|
||||||
Array.prototype.reduceRight - This object is an global object
|
Array.prototype.reduceRight - This object is an global object
|
||||||
which contains index property
|
which contains index property
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var testResult = false;
|
var testResult = false;
|
||||||
@ -16,12 +15,12 @@ includes: [fnGlobalObject.js]
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var oldLen = fnGlobalObject().length;
|
var oldLen = this.length;
|
||||||
fnGlobalObject()[0] = 0;
|
this[0] = 0;
|
||||||
fnGlobalObject()[1] = 1;
|
this[1] = 1;
|
||||||
fnGlobalObject()[2] = 2;
|
this[2] = 2;
|
||||||
fnGlobalObject().length = 3;
|
this.length = 3;
|
||||||
|
|
||||||
Array.prototype.reduceRight.call(fnGlobalObject(), callbackfn, "initialValue");
|
Array.prototype.reduceRight.call(this, callbackfn, "initialValue");
|
||||||
|
|
||||||
assert(testResult, 'testResult !== true');
|
assert(testResult, 'testResult !== true');
|
||||||
|
@ -6,16 +6,16 @@ es5id: 15.4.4.22-9-c-ii-37
|
|||||||
description: >
|
description: >
|
||||||
Array.prototype.reduceRight - the global object can be used as
|
Array.prototype.reduceRight - the global object can be used as
|
||||||
accumulator
|
accumulator
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
var global = this;
|
||||||
var accessed = false;
|
var accessed = false;
|
||||||
function callbackfn(prevVal, curVal, idx, obj) {
|
function callbackfn(prevVal, curVal, idx, obj) {
|
||||||
accessed = true;
|
accessed = true;
|
||||||
return prevVal === fnGlobalObject();
|
return prevVal === global;
|
||||||
}
|
}
|
||||||
|
|
||||||
var obj = { 0: 11, length: 1 };
|
var obj = { 0: 11, length: 1 };
|
||||||
|
|
||||||
assert.sameValue(Array.prototype.reduceRight.call(obj, callbackfn, fnGlobalObject()), true, 'Array.prototype.reduceRight.call(obj, callbackfn, fnGlobalObject())');
|
assert.sameValue(Array.prototype.reduceRight.call(obj, callbackfn, this), true, 'Array.prototype.reduceRight.call(obj, callbackfn, this)');
|
||||||
assert(accessed, 'accessed !== true');
|
assert(accessed, 'accessed !== true');
|
||||||
|
@ -4,7 +4,6 @@
|
|||||||
/*---
|
/*---
|
||||||
es5id: 15.4.4.17-2-15
|
es5id: 15.4.4.17-2-15
|
||||||
description: Array.prototype.some - 'length' is property of the global object
|
description: Array.prototype.some - 'length' is property of the global object
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
function callbackfn1(val, idx, obj) {
|
function callbackfn1(val, idx, obj) {
|
||||||
@ -15,11 +14,11 @@ includes: [fnGlobalObject.js]
|
|||||||
return val > 11;
|
return val > 11;
|
||||||
}
|
}
|
||||||
|
|
||||||
var oldLen = fnGlobalObject().length;
|
var oldLen = this.length;
|
||||||
fnGlobalObject()[0] = 9;
|
this[0] = 9;
|
||||||
fnGlobalObject()[1] = 11;
|
this[1] = 11;
|
||||||
fnGlobalObject()[2] = 12;
|
this[2] = 12;
|
||||||
fnGlobalObject().length = 2;
|
this.length = 2;
|
||||||
|
|
||||||
assert(Array.prototype.some.call(fnGlobalObject(), callbackfn1), 'Array.prototype.some.call(fnGlobalObject(), callbackfn1) !== true');
|
assert(Array.prototype.some.call(this, callbackfn1), 'Array.prototype.some.call(this, callbackfn1) !== true');
|
||||||
assert.sameValue(Array.prototype.some.call(fnGlobalObject(), callbackfn2), false, 'Array.prototype.some.call(fnGlobalObject(), callbackfn2)');
|
assert.sameValue(Array.prototype.some.call(this, callbackfn2), false, 'Array.prototype.some.call(this, callbackfn2)');
|
||||||
|
@ -4,11 +4,11 @@
|
|||||||
/*---
|
/*---
|
||||||
es5id: 15.4.4.17-5-21
|
es5id: 15.4.4.17-5-21
|
||||||
description: Array.prototype.some - the global object can be used as thisArg
|
description: Array.prototype.some - the global object can be used as thisArg
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
var global = this;
|
||||||
function callbackfn(val, idx, obj) {
|
function callbackfn(val, idx, obj) {
|
||||||
return this === fnGlobalObject();
|
return this === global;
|
||||||
}
|
}
|
||||||
|
|
||||||
assert([11].some(callbackfn, fnGlobalObject()), '[11].some(callbackfn, fnGlobalObject()) !== true');
|
assert([11].some(callbackfn, this), '[11].some(callbackfn, global) !== true');
|
||||||
|
@ -6,7 +6,6 @@ es5id: 15.4.4.17-7-c-i-23
|
|||||||
description: >
|
description: >
|
||||||
Array.prototype.some - This object is an global object which
|
Array.prototype.some - This object is an global object which
|
||||||
contains index property
|
contains index property
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
function callbackfn(val, idx, obj) {
|
function callbackfn(val, idx, obj) {
|
||||||
@ -16,8 +15,8 @@ includes: [fnGlobalObject.js]
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
var oldLen = fnGlobalObject().length;
|
var oldLen = this.length;
|
||||||
fnGlobalObject()[0] = 11;
|
this[0] = 11;
|
||||||
fnGlobalObject().length = 1;
|
this.length = 1;
|
||||||
|
|
||||||
assert(Array.prototype.some.call(fnGlobalObject(), callbackfn), 'Array.prototype.some.call(fnGlobalObject(), callbackfn) !== true');
|
assert(Array.prototype.some.call(this, callbackfn), 'Array.prototype.some.call(this, callbackfn) !== true');
|
||||||
|
@ -6,11 +6,11 @@ es5id: 15.4.4.17-7-c-iii-26
|
|||||||
description: >
|
description: >
|
||||||
Array.prototype.some - return value of callbackfn is the global
|
Array.prototype.some - return value of callbackfn is the global
|
||||||
object
|
object
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
var global = this;
|
||||||
function callbackfn(val, idx, obj) {
|
function callbackfn(val, idx, obj) {
|
||||||
return fnGlobalObject();
|
return global;
|
||||||
}
|
}
|
||||||
|
|
||||||
assert([11].some(callbackfn), '[11].some(callbackfn) !== true');
|
assert([11].some(callbackfn), '[11].some(callbackfn) !== true');
|
||||||
|
@ -8,13 +8,13 @@ description: >
|
|||||||
non-strict function (strict function declaration called by
|
non-strict function (strict function declaration called by
|
||||||
Function.prototype.apply(globalObject))
|
Function.prototype.apply(globalObject))
|
||||||
flags: [noStrict]
|
flags: [noStrict]
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
var global = this;
|
||||||
function f() { "use strict"; gNonStrict();};
|
function f() { "use strict"; gNonStrict();};
|
||||||
|
|
||||||
assert.throws(TypeError, function() {
|
assert.throws(TypeError, function() {
|
||||||
f.apply(fnGlobalObject());
|
f.apply(global);
|
||||||
});
|
});
|
||||||
|
|
||||||
function gNonStrict() {
|
function gNonStrict() {
|
||||||
|
@ -8,13 +8,13 @@ description: >
|
|||||||
non-strict function (strict function declaration called by
|
non-strict function (strict function declaration called by
|
||||||
Function.prototype.call(globalObject))
|
Function.prototype.call(globalObject))
|
||||||
flags: [noStrict]
|
flags: [noStrict]
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
var global = this;
|
||||||
function f() { "use strict"; gNonStrict();};
|
function f() { "use strict"; gNonStrict();};
|
||||||
|
|
||||||
assert.throws(TypeError, function() {
|
assert.throws(TypeError, function() {
|
||||||
f.call(fnGlobalObject());
|
f.call(this);
|
||||||
});
|
});
|
||||||
|
|
||||||
function gNonStrict() {
|
function gNonStrict() {
|
||||||
|
@ -8,13 +8,13 @@ description: >
|
|||||||
non-strict function (strict function declaration called by
|
non-strict function (strict function declaration called by
|
||||||
Function.prototype.bind(globalObject)())
|
Function.prototype.bind(globalObject)())
|
||||||
flags: [noStrict]
|
flags: [noStrict]
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
var global = this;
|
||||||
function f() { "use strict"; gNonStrict();};
|
function f() { "use strict"; gNonStrict();};
|
||||||
|
|
||||||
assert.throws(TypeError, function() {
|
assert.throws(TypeError, function() {
|
||||||
f.bind(fnGlobalObject())();
|
f.bind(global)();
|
||||||
});
|
});
|
||||||
|
|
||||||
function gNonStrict() {
|
function gNonStrict() {
|
||||||
|
@ -9,11 +9,11 @@ description: >
|
|||||||
strict Function.prototype.apply(globalObject))
|
strict Function.prototype.apply(globalObject))
|
||||||
flags: [noStrict]
|
flags: [noStrict]
|
||||||
features: [caller]
|
features: [caller]
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
var global = this;
|
||||||
function f() { return gNonStrict();};
|
function f() { return gNonStrict();};
|
||||||
(function () {"use strict"; f.apply(fnGlobalObject()); })();
|
(function () {"use strict"; f.apply(global); })();
|
||||||
|
|
||||||
|
|
||||||
function gNonStrict() {
|
function gNonStrict() {
|
||||||
|
@ -9,11 +9,11 @@ description: >
|
|||||||
strict Function.prototype.call(globalObject))
|
strict Function.prototype.call(globalObject))
|
||||||
flags: [noStrict]
|
flags: [noStrict]
|
||||||
features: [caller]
|
features: [caller]
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
var global = this;
|
||||||
function f() { return gNonStrict();};
|
function f() { return gNonStrict();};
|
||||||
(function () {"use strict"; f.call(fnGlobalObject()); })();
|
(function () {"use strict"; f.call(global); })();
|
||||||
|
|
||||||
|
|
||||||
function gNonStrict() {
|
function gNonStrict() {
|
||||||
|
@ -9,11 +9,11 @@ description: >
|
|||||||
strict Function.prototype.bind(globalObject)())
|
strict Function.prototype.bind(globalObject)())
|
||||||
flags: [noStrict]
|
flags: [noStrict]
|
||||||
features: [caller]
|
features: [caller]
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
var global = this;
|
||||||
function f() { return gNonStrict();};
|
function f() { return gNonStrict();};
|
||||||
(function () {"use strict"; f.bind(fnGlobalObject())(); })();
|
(function () {"use strict"; f.bind(global)(); })();
|
||||||
|
|
||||||
|
|
||||||
function gNonStrict() {
|
function gNonStrict() {
|
||||||
|
@ -6,10 +6,9 @@ es5id: 15.1.1.2-0
|
|||||||
description: >
|
description: >
|
||||||
Global.Infinity is a data property with default attribute values
|
Global.Infinity is a data property with default attribute values
|
||||||
(false)
|
(false)
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var desc = Object.getOwnPropertyDescriptor(fnGlobalObject(), 'Infinity');
|
var desc = Object.getOwnPropertyDescriptor(this, 'Infinity');
|
||||||
|
|
||||||
assert.sameValue(desc.writable, false, 'desc.writable');
|
assert.sameValue(desc.writable, false, 'desc.writable');
|
||||||
assert.sameValue(desc.enumerable, false, 'desc.enumerable');
|
assert.sameValue(desc.enumerable, false, 'desc.enumerable');
|
||||||
|
@ -5,11 +5,11 @@
|
|||||||
info: The Infinity is ReadOnly
|
info: The Infinity is ReadOnly
|
||||||
es5id: 15.1.1.2_A2_T1
|
es5id: 15.1.1.2_A2_T1
|
||||||
description: Checking typeof Functions
|
description: Checking typeof Functions
|
||||||
includes: [propertyHelper.js, fnGlobalObject.js]
|
includes: [propertyHelper.js]
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
// CHECK#1
|
// CHECK#1
|
||||||
verifyNotWritable(fnGlobalObject(), "Infinity", null, true);
|
verifyNotWritable(this, "Infinity", null, true);
|
||||||
if (typeof(Infinity) === "boolean") {
|
if (typeof(Infinity) === "boolean") {
|
||||||
$ERROR('#1: Infinity = true; typeof(Infinity) !== "boolean". Actual: ' + (typeof(Infinity)));
|
$ERROR('#1: Infinity = true; typeof(Infinity) !== "boolean". Actual: ' + (typeof(Infinity)));
|
||||||
}
|
}
|
||||||
|
@ -5,14 +5,14 @@
|
|||||||
info: The Infinity is DontDelete
|
info: The Infinity is DontDelete
|
||||||
es5id: 15.1.1.2_A3_T1
|
es5id: 15.1.1.2_A3_T1
|
||||||
description: Use delete
|
description: Use delete
|
||||||
includes: [propertyHelper.js, fnGlobalObject.js]
|
includes: [propertyHelper.js]
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
// CHECK#1
|
// CHECK#1
|
||||||
verifyNotConfigurable(fnGlobalObject(), "Infinity");
|
verifyNotConfigurable(this, "Infinity");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (delete fnGlobalObject().Infinity !== false) {
|
if (delete this.Infinity !== false) {
|
||||||
$ERROR('#1: delete Infinity === false.');
|
$ERROR('#1: delete Infinity === false.');
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
@ -4,10 +4,9 @@
|
|||||||
/*---
|
/*---
|
||||||
es5id: 15.1.1.1-0
|
es5id: 15.1.1.1-0
|
||||||
description: Global.NaN is a data property with default attribute values (false)
|
description: Global.NaN is a data property with default attribute values (false)
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var desc = Object.getOwnPropertyDescriptor(fnGlobalObject(), 'NaN');
|
var desc = Object.getOwnPropertyDescriptor(this, 'NaN');
|
||||||
|
|
||||||
assert.sameValue(desc.writable, false, 'desc.writable');
|
assert.sameValue(desc.writable, false, 'desc.writable');
|
||||||
assert.sameValue(desc.enumerable, false, 'desc.enumerable');
|
assert.sameValue(desc.enumerable, false, 'desc.enumerable');
|
||||||
|
@ -5,11 +5,11 @@
|
|||||||
info: The NaN is ReadOnly
|
info: The NaN is ReadOnly
|
||||||
es5id: 15.1.1.1_A2_T1
|
es5id: 15.1.1.1_A2_T1
|
||||||
description: Checking typeof Functions
|
description: Checking typeof Functions
|
||||||
includes: [propertyHelper.js, fnGlobalObject.js]
|
includes: [propertyHelper.js]
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
// CHECK#1
|
// CHECK#1
|
||||||
verifyNotWritable(fnGlobalObject(), "NaN", null, true);
|
verifyNotWritable(this, "NaN", null, true);
|
||||||
if (typeof(NaN) === "boolean") {
|
if (typeof(NaN) === "boolean") {
|
||||||
$ERROR('#1: NaN = true; typeof(NaN) !== "boolean". Actual: ' + (typeof(NaN)));
|
$ERROR('#1: NaN = true; typeof(NaN) !== "boolean". Actual: ' + (typeof(NaN)));
|
||||||
}
|
}
|
||||||
|
@ -5,14 +5,14 @@
|
|||||||
info: The NaN is DontDelete
|
info: The NaN is DontDelete
|
||||||
es5id: 15.1.1.2_A3_T1
|
es5id: 15.1.1.2_A3_T1
|
||||||
description: Use delete
|
description: Use delete
|
||||||
includes: [propertyHelper.js, fnGlobalObject.js]
|
includes: [propertyHelper.js]
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
// CHECK#1
|
// CHECK#1
|
||||||
verifyNotConfigurable(fnGlobalObject(), "NaN");
|
verifyNotConfigurable(this, "NaN");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (delete fnGlobalObject().NaN !== false) {
|
if (delete this.NaN !== false) {
|
||||||
$ERROR('#1: delete NaN === false.');
|
$ERROR('#1: delete NaN === false.');
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
@ -7,13 +7,12 @@ description: >
|
|||||||
Object.create - one property in 'Properties' is the global object
|
Object.create - one property in 'Properties' is the global object
|
||||||
that uses Object's [[Get]] method to access the 'configurable'
|
that uses Object's [[Get]] method to access the 'configurable'
|
||||||
property (8.10.5 step 4.a)
|
property (8.10.5 step 4.a)
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
fnGlobalObject().configurable = true;
|
this.configurable = true;
|
||||||
|
|
||||||
var newObj = Object.create({}, {
|
var newObj = Object.create({}, {
|
||||||
prop: fnGlobalObject()
|
prop: this
|
||||||
});
|
});
|
||||||
|
|
||||||
var result1 = newObj.hasOwnProperty("prop");
|
var result1 = newObj.hasOwnProperty("prop");
|
||||||
|
@ -6,12 +6,11 @@ es5id: 15.2.3.5-4-149
|
|||||||
description: >
|
description: >
|
||||||
Object.create - 'configurable' property of one property in
|
Object.create - 'configurable' property of one property in
|
||||||
'Properties' is the global object (8.10.5 step 4.b)
|
'Properties' is the global object (8.10.5 step 4.b)
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var newObj = Object.create({}, {
|
var newObj = Object.create({}, {
|
||||||
prop: {
|
prop: {
|
||||||
configurable: fnGlobalObject()
|
configurable: this
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -7,13 +7,12 @@ description: >
|
|||||||
Object.create - one property in 'Properties' is the global object
|
Object.create - one property in 'Properties' is the global object
|
||||||
that uses Object's [[Get]] method to access the 'value' property
|
that uses Object's [[Get]] method to access the 'value' property
|
||||||
(8.10.5 step 5.a)
|
(8.10.5 step 5.a)
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
fnGlobalObject().value = "GlobalValue";
|
this.value = "GlobalValue";
|
||||||
|
|
||||||
var newObj = Object.create({}, {
|
var newObj = Object.create({}, {
|
||||||
prop: fnGlobalObject()
|
prop: this
|
||||||
});
|
});
|
||||||
|
|
||||||
assert.sameValue(newObj.prop, "GlobalValue", 'newObj.prop');
|
assert.sameValue(newObj.prop, "GlobalValue", 'newObj.prop');
|
||||||
|
@ -7,13 +7,12 @@ description: >
|
|||||||
Object.create - one property in 'Properties' is the global object
|
Object.create - one property in 'Properties' is the global object
|
||||||
that uses Object's [[Get]] method to access the 'writable'
|
that uses Object's [[Get]] method to access the 'writable'
|
||||||
property (8.10.5 step 6.a)
|
property (8.10.5 step 6.a)
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
fnGlobalObject().writable = true;
|
this.writable = true;
|
||||||
|
|
||||||
var newObj = Object.create({}, {
|
var newObj = Object.create({}, {
|
||||||
prop: fnGlobalObject()
|
prop: this
|
||||||
});
|
});
|
||||||
|
|
||||||
var beforeWrite = (newObj.hasOwnProperty("prop") && typeof (newObj.prop) === "undefined");
|
var beforeWrite = (newObj.hasOwnProperty("prop") && typeof (newObj.prop) === "undefined");
|
||||||
|
@ -6,12 +6,11 @@ es5id: 15.2.3.5-4-228
|
|||||||
description: >
|
description: >
|
||||||
Object.create - 'writable' property of one property in
|
Object.create - 'writable' property of one property in
|
||||||
'Properties' is the global object (8.10.5 step 6.b)
|
'Properties' is the global object (8.10.5 step 6.b)
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var newObj = Object.create({}, {
|
var newObj = Object.create({}, {
|
||||||
prop: {
|
prop: {
|
||||||
writable: fnGlobalObject()
|
writable: this
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
var hasProperty = newObj.hasOwnProperty("prop");
|
var hasProperty = newObj.hasOwnProperty("prop");
|
||||||
|
@ -7,15 +7,14 @@ description: >
|
|||||||
Object.create - one property in 'Properties' is the global object
|
Object.create - one property in 'Properties' is the global object
|
||||||
that uses Object's [[Get]] method to access the 'get' property
|
that uses Object's [[Get]] method to access the 'get' property
|
||||||
(8.10.5 step 7.a)
|
(8.10.5 step 7.a)
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
fnGlobalObject().get = function () {
|
this.get = function () {
|
||||||
return "VerifyGlobalObject";
|
return "VerifyGlobalObject";
|
||||||
};
|
};
|
||||||
|
|
||||||
var newObj = Object.create({}, {
|
var newObj = Object.create({}, {
|
||||||
prop: fnGlobalObject()
|
prop: this
|
||||||
});
|
});
|
||||||
|
|
||||||
assert.sameValue(newObj.prop, "VerifyGlobalObject", 'newObj.prop');
|
assert.sameValue(newObj.prop, "VerifyGlobalObject", 'newObj.prop');
|
||||||
|
@ -7,17 +7,16 @@ description: >
|
|||||||
Object.create - one property in 'Properties' is the global object
|
Object.create - one property in 'Properties' is the global object
|
||||||
that uses Object's [[Get]] method to access the 'set' property
|
that uses Object's [[Get]] method to access the 'set' property
|
||||||
(8.10.5 step 8.a)
|
(8.10.5 step 8.a)
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var data = "data";
|
var data = "data";
|
||||||
|
|
||||||
fnGlobalObject().set = function (value) {
|
this.set = function (value) {
|
||||||
data = value;
|
data = value;
|
||||||
};
|
};
|
||||||
|
|
||||||
var newObj = Object.create({}, {
|
var newObj = Object.create({}, {
|
||||||
prop: fnGlobalObject()
|
prop: this
|
||||||
});
|
});
|
||||||
|
|
||||||
var hasProperty = newObj.hasOwnProperty("prop");
|
var hasProperty = newObj.hasOwnProperty("prop");
|
||||||
|
@ -6,14 +6,14 @@ es5id: 15.2.3.5-4-300
|
|||||||
description: >
|
description: >
|
||||||
Object.create - 'set' property of one property in 'Properties' is
|
Object.create - 'set' property of one property in 'Properties' is
|
||||||
a host object that isn't callable (8.10.5 step 8.b)
|
a host object that isn't callable (8.10.5 step 8.b)
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
var global = this;
|
||||||
|
|
||||||
assert.throws(TypeError, function() {
|
assert.throws(TypeError, function() {
|
||||||
Object.create({}, {
|
Object.create({}, {
|
||||||
prop: {
|
prop: {
|
||||||
set: fnGlobalObject()
|
set: global
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -7,15 +7,14 @@ description: >
|
|||||||
Object.create - one property in 'Properties' is the global object
|
Object.create - one property in 'Properties' is the global object
|
||||||
that uses Object's [[Get]] method to access the 'enumerable'
|
that uses Object's [[Get]] method to access the 'enumerable'
|
||||||
property (8.10.5 step 3.a)
|
property (8.10.5 step 3.a)
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var accessed = false;
|
var accessed = false;
|
||||||
|
|
||||||
fnGlobalObject().enumerable = true;
|
this.enumerable = true;
|
||||||
|
|
||||||
var newObj = Object.create({}, {
|
var newObj = Object.create({}, {
|
||||||
prop: fnGlobalObject()
|
prop: this
|
||||||
});
|
});
|
||||||
for (var property in newObj) {
|
for (var property in newObj) {
|
||||||
if (property === "prop") {
|
if (property === "prop") {
|
||||||
|
@ -6,14 +6,13 @@ es5id: 15.2.3.5-4-96
|
|||||||
description: >
|
description: >
|
||||||
Object.create - 'enumerable' property of one property in
|
Object.create - 'enumerable' property of one property in
|
||||||
'Properties' is the global object (8.10.5 step 3.b)
|
'Properties' is the global object (8.10.5 step 3.b)
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var accessed = false;
|
var accessed = false;
|
||||||
|
|
||||||
var newObj = Object.create({}, {
|
var newObj = Object.create({}, {
|
||||||
prop: {
|
prop: {
|
||||||
enumerable: fnGlobalObject()
|
enumerable: this
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
for (var property in newObj) {
|
for (var property in newObj) {
|
||||||
|
@ -6,28 +6,28 @@ es5id: 15.2.3.7-2-18
|
|||||||
description: >
|
description: >
|
||||||
Object.defineProperties - argument 'Properties' is the global
|
Object.defineProperties - argument 'Properties' is the global
|
||||||
object
|
object
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
var global = this;
|
||||||
var obj = {};
|
var obj = {};
|
||||||
var result = false;
|
var result = false;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Object.defineProperty(fnGlobalObject(), "prop", {
|
Object.defineProperty(this, "prop", {
|
||||||
get: function () {
|
get: function () {
|
||||||
result = (this === fnGlobalObject());
|
result = (this === global);
|
||||||
return {};
|
return {};
|
||||||
},
|
},
|
||||||
enumerable: true,
|
enumerable: true,
|
||||||
configurable:true
|
configurable:true
|
||||||
});
|
});
|
||||||
|
|
||||||
Object.defineProperties(obj, fnGlobalObject());
|
Object.defineProperties(obj, this);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
if (!(e instanceof TypeError)) throw e;
|
if (!(e instanceof TypeError)) throw e;
|
||||||
result = true;
|
result = true;
|
||||||
} finally {
|
} finally {
|
||||||
delete fnGlobalObject().prop;
|
delete this.prop;
|
||||||
}
|
}
|
||||||
|
|
||||||
assert(result, 'result !== true');
|
assert(result, 'result !== true');
|
||||||
|
@ -6,14 +6,13 @@ es5id: 15.2.3.7-5-b-109
|
|||||||
description: >
|
description: >
|
||||||
Object.defineProperties - value of 'configurable' property of
|
Object.defineProperties - value of 'configurable' property of
|
||||||
'descObj' is the global object (8.10.5 step 4.b)
|
'descObj' is the global object (8.10.5 step 4.b)
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var obj = {};
|
var obj = {};
|
||||||
|
|
||||||
Object.defineProperties(obj, {
|
Object.defineProperties(obj, {
|
||||||
property: {
|
property: {
|
||||||
configurable: fnGlobalObject()
|
configurable: this
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
var preCheck = obj.hasOwnProperty("property");
|
var preCheck = obj.hasOwnProperty("property");
|
||||||
|
@ -7,15 +7,14 @@ description: >
|
|||||||
Object.defineProperties - 'descObj' is the global object which
|
Object.defineProperties - 'descObj' is the global object which
|
||||||
implements its own [[Get]] method to get 'value' property (8.10.5
|
implements its own [[Get]] method to get 'value' property (8.10.5
|
||||||
step 5.a)
|
step 5.a)
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var obj = {};
|
var obj = {};
|
||||||
|
|
||||||
fnGlobalObject().value = "global";
|
this.value = "global";
|
||||||
|
|
||||||
Object.defineProperties(obj, {
|
Object.defineProperties(obj, {
|
||||||
property: fnGlobalObject()
|
property: this
|
||||||
});
|
});
|
||||||
|
|
||||||
assert.sameValue(obj.property, "global", 'obj.property');
|
assert.sameValue(obj.property, "global", 'obj.property');
|
||||||
|
@ -7,18 +7,16 @@ description: >
|
|||||||
Object.defineProperties - 'descObj' is the global object which
|
Object.defineProperties - 'descObj' is the global object which
|
||||||
implements its own [[Get]] method to get 'writable' property
|
implements its own [[Get]] method to get 'writable' property
|
||||||
(8.10.5 step 6.a)
|
(8.10.5 step 6.a)
|
||||||
includes:
|
includes: [propertyHelper.js]
|
||||||
- propertyHelper.js
|
|
||||||
- fnGlobalObject.js
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
|
||||||
var obj = {};
|
var obj = {};
|
||||||
|
|
||||||
fnGlobalObject().writable = false;
|
this.writable = false;
|
||||||
|
|
||||||
Object.defineProperties(obj, {
|
Object.defineProperties(obj, {
|
||||||
property: fnGlobalObject()
|
property: this
|
||||||
});
|
});
|
||||||
|
|
||||||
assert(obj.hasOwnProperty("property"));
|
assert(obj.hasOwnProperty("property"));
|
||||||
|
@ -6,14 +6,13 @@ es5id: 15.2.3.7-5-b-188
|
|||||||
description: >
|
description: >
|
||||||
Object.defineProperties - value of 'writable' property of
|
Object.defineProperties - value of 'writable' property of
|
||||||
'descObj' is the global object (8.10.5 step 6.b)
|
'descObj' is the global object (8.10.5 step 6.b)
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var obj = {};
|
var obj = {};
|
||||||
|
|
||||||
Object.defineProperties(obj, {
|
Object.defineProperties(obj, {
|
||||||
property: {
|
property: {
|
||||||
writable: fnGlobalObject()
|
writable: this
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -7,17 +7,16 @@ description: >
|
|||||||
Object.defineProperties - 'descObj' is the global object which
|
Object.defineProperties - 'descObj' is the global object which
|
||||||
implements its own [[Get]] method to get 'get' property (8.10.5
|
implements its own [[Get]] method to get 'get' property (8.10.5
|
||||||
step 7.a)
|
step 7.a)
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var obj = {};
|
var obj = {};
|
||||||
|
|
||||||
fnGlobalObject().get = function () {
|
this.get = function () {
|
||||||
return "global";
|
return "global";
|
||||||
};
|
};
|
||||||
|
|
||||||
Object.defineProperties(obj, {
|
Object.defineProperties(obj, {
|
||||||
property: fnGlobalObject()
|
property: this
|
||||||
});
|
});
|
||||||
|
|
||||||
assert.sameValue(obj.property, "global", 'obj.property');
|
assert.sameValue(obj.property, "global", 'obj.property');
|
||||||
|
@ -7,16 +7,15 @@ description: >
|
|||||||
Object.defineProperties - 'descObj' is the global object which
|
Object.defineProperties - 'descObj' is the global object which
|
||||||
implements its own [[Get]] method to get 'enumerable' property
|
implements its own [[Get]] method to get 'enumerable' property
|
||||||
(8.10.5 step 3.a)
|
(8.10.5 step 3.a)
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var obj = {};
|
var obj = {};
|
||||||
var accessed = false;
|
var accessed = false;
|
||||||
|
|
||||||
fnGlobalObject().enumerable = true;
|
this.enumerable = true;
|
||||||
|
|
||||||
Object.defineProperties(obj, {
|
Object.defineProperties(obj, {
|
||||||
prop: fnGlobalObject()
|
prop: this
|
||||||
});
|
});
|
||||||
for (var property in obj) {
|
for (var property in obj) {
|
||||||
if (property === "prop") {
|
if (property === "prop") {
|
||||||
|
@ -6,7 +6,6 @@ es5id: 15.2.3.7-5-b-56
|
|||||||
description: >
|
description: >
|
||||||
Object.defineProperties - value of 'enumerable' property of
|
Object.defineProperties - value of 'enumerable' property of
|
||||||
'descObj' is the global object (8.10.5 step 3.b)
|
'descObj' is the global object (8.10.5 step 3.b)
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var obj = {};
|
var obj = {};
|
||||||
@ -14,7 +13,7 @@ includes: [fnGlobalObject.js]
|
|||||||
|
|
||||||
Object.defineProperties(obj, {
|
Object.defineProperties(obj, {
|
||||||
prop: {
|
prop: {
|
||||||
enumerable: fnGlobalObject()
|
enumerable: this
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
for (var property in obj) {
|
for (var property in obj) {
|
||||||
|
@ -7,15 +7,14 @@ description: >
|
|||||||
Object.defineProperties - 'descObj' is the global object which
|
Object.defineProperties - 'descObj' is the global object which
|
||||||
implements its own [[Get]] method to get 'configurable' property
|
implements its own [[Get]] method to get 'configurable' property
|
||||||
(8.10.5 step 4.a)
|
(8.10.5 step 4.a)
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var obj = {};
|
var obj = {};
|
||||||
|
|
||||||
fnGlobalObject().configurable = true;
|
this.configurable = true;
|
||||||
|
|
||||||
Object.defineProperties(obj, {
|
Object.defineProperties(obj, {
|
||||||
prop: fnGlobalObject()
|
prop: this
|
||||||
});
|
});
|
||||||
|
|
||||||
var result1 = obj.hasOwnProperty("prop");
|
var result1 = obj.hasOwnProperty("prop");
|
||||||
|
@ -7,29 +7,29 @@ description: >
|
|||||||
Object.defineProperties - 'O' is the global object which
|
Object.defineProperties - 'O' is the global object which
|
||||||
implements its own [[GetOwnProperty]] method to get 'P' (8.12.9
|
implements its own [[GetOwnProperty]] method to get 'P' (8.12.9
|
||||||
step 1 )
|
step 1 )
|
||||||
includes: [propertyHelper.js, fnGlobalObject.js]
|
includes: [propertyHelper.js]
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
|
||||||
Object.defineProperty(fnGlobalObject(), "prop", {
|
Object.defineProperty(this, "prop", {
|
||||||
value: 11,
|
value: 11,
|
||||||
writable: true,
|
writable: true,
|
||||||
enumerable: true,
|
enumerable: true,
|
||||||
configurable: true
|
configurable: true
|
||||||
});
|
});
|
||||||
|
|
||||||
Object.defineProperties(fnGlobalObject(), {
|
Object.defineProperties(this, {
|
||||||
prop: {
|
prop: {
|
||||||
value: 12
|
value: 12
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
verifyEqualTo(fnGlobalObject(), "prop", 12);
|
verifyEqualTo(this, "prop", 12);
|
||||||
|
|
||||||
verifyWritable(fnGlobalObject(), "prop");
|
verifyWritable(this, "prop");
|
||||||
|
|
||||||
verifyEnumerable(fnGlobalObject(), "prop");
|
verifyEnumerable(this, "prop");
|
||||||
|
|
||||||
verifyConfigurable(fnGlobalObject(), "prop");
|
verifyConfigurable(this, "prop");
|
||||||
|
|
||||||
delete fnGlobalObject().prop;
|
delete this.prop;
|
||||||
|
@ -6,13 +6,12 @@ es5id: 15.2.3.6-3-123
|
|||||||
description: >
|
description: >
|
||||||
Object.defineProperty - 'configurable' property in 'Attributes' is
|
Object.defineProperty - 'configurable' property in 'Attributes' is
|
||||||
the global object (8.10.5 step 4.b)
|
the global object (8.10.5 step 4.b)
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var obj = {};
|
var obj = {};
|
||||||
|
|
||||||
var attr = {
|
var attr = {
|
||||||
configurable: fnGlobalObject()
|
configurable: this
|
||||||
};
|
};
|
||||||
|
|
||||||
Object.defineProperty(obj, "property", attr);
|
Object.defineProperty(obj, "property", attr);
|
||||||
|
@ -7,13 +7,12 @@ description: >
|
|||||||
Object.defineProperty - 'Attributes' is the global object that
|
Object.defineProperty - 'Attributes' is the global object that
|
||||||
uses Object's [[Get]] method to access the 'value' property
|
uses Object's [[Get]] method to access the 'value' property
|
||||||
(8.10.5 step 5.a)
|
(8.10.5 step 5.a)
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var obj = {};
|
var obj = {};
|
||||||
|
|
||||||
fnGlobalObject().value = "global";
|
this.value = "global";
|
||||||
|
|
||||||
Object.defineProperty(obj, "property", fnGlobalObject());
|
Object.defineProperty(obj, "property", this);
|
||||||
|
|
||||||
assert.sameValue(obj.property, "global", 'obj.property');
|
assert.sameValue(obj.property, "global", 'obj.property');
|
||||||
|
@ -7,14 +7,13 @@ description: >
|
|||||||
Object.defineProperty - 'Attributes' is the global object that
|
Object.defineProperty - 'Attributes' is the global object that
|
||||||
uses Object's [[Get]] method to access the 'writable' property
|
uses Object's [[Get]] method to access the 'writable' property
|
||||||
(8.10.5 step 6.a)
|
(8.10.5 step 6.a)
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var obj = {};
|
var obj = {};
|
||||||
|
|
||||||
fnGlobalObject().writable = true;
|
this.writable = true;
|
||||||
|
|
||||||
Object.defineProperty(obj, "property", fnGlobalObject());
|
Object.defineProperty(obj, "property", this);
|
||||||
|
|
||||||
var beforeWrite = obj.hasOwnProperty("property");
|
var beforeWrite = obj.hasOwnProperty("property");
|
||||||
|
|
||||||
|
@ -6,13 +6,12 @@ es5id: 15.2.3.6-3-202
|
|||||||
description: >
|
description: >
|
||||||
Object.defineProperty - 'writable' property in 'Attributes' is the
|
Object.defineProperty - 'writable' property in 'Attributes' is the
|
||||||
global object (8.10.5 step 6.b)
|
global object (8.10.5 step 6.b)
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var obj = {};
|
var obj = {};
|
||||||
|
|
||||||
Object.defineProperty(obj, "property", {
|
Object.defineProperty(obj, "property", {
|
||||||
writable: fnGlobalObject()
|
writable: this
|
||||||
});
|
});
|
||||||
|
|
||||||
var beforeWrite = obj.hasOwnProperty("property");
|
var beforeWrite = obj.hasOwnProperty("property");
|
||||||
|
@ -7,15 +7,14 @@ description: >
|
|||||||
Object.defineProperty - 'Attributes' is the global object that
|
Object.defineProperty - 'Attributes' is the global object that
|
||||||
uses Object's [[Get]] method to access the 'get' property (8.10.5
|
uses Object's [[Get]] method to access the 'get' property (8.10.5
|
||||||
step 7.a)
|
step 7.a)
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var obj = {};
|
var obj = {};
|
||||||
|
|
||||||
fnGlobalObject().get = function () {
|
this.get = function () {
|
||||||
return "globalGetProperty";
|
return "globalGetProperty";
|
||||||
};
|
};
|
||||||
|
|
||||||
Object.defineProperty(obj, "property", fnGlobalObject());
|
Object.defineProperty(obj, "property", this);
|
||||||
|
|
||||||
assert.sameValue(obj.property, "globalGetProperty", 'obj.property');
|
assert.sameValue(obj.property, "globalGetProperty", 'obj.property');
|
||||||
|
@ -7,17 +7,16 @@ description: >
|
|||||||
Object.defineProperty - 'Attributes' is the global object that
|
Object.defineProperty - 'Attributes' is the global object that
|
||||||
uses Object's [[Get]] method to access the 'set' property (8.10.5
|
uses Object's [[Get]] method to access the 'set' property (8.10.5
|
||||||
step 8.a)
|
step 8.a)
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var obj = {};
|
var obj = {};
|
||||||
var data = "data";
|
var data = "data";
|
||||||
|
|
||||||
fnGlobalObject().set = function (value) {
|
this.set = function (value) {
|
||||||
data = value;
|
data = value;
|
||||||
};
|
};
|
||||||
|
|
||||||
Object.defineProperty(obj, "property", fnGlobalObject());
|
Object.defineProperty(obj, "property", this);
|
||||||
obj.property = "overrideData";
|
obj.property = "overrideData";
|
||||||
|
|
||||||
assert(obj.hasOwnProperty("property"), 'obj.hasOwnProperty("property") !== true');
|
assert(obj.hasOwnProperty("property"), 'obj.hasOwnProperty("property") !== true');
|
||||||
|
@ -7,15 +7,14 @@ description: >
|
|||||||
Object.defineProperty - 'Attributes' is the global object that
|
Object.defineProperty - 'Attributes' is the global object that
|
||||||
uses Object's [[Get]] method to access the 'enumerable' property
|
uses Object's [[Get]] method to access the 'enumerable' property
|
||||||
(8.10.5 step 3.a)
|
(8.10.5 step 3.a)
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var obj = {};
|
var obj = {};
|
||||||
var accessed = false;
|
var accessed = false;
|
||||||
|
|
||||||
fnGlobalObject().enumerable = true;
|
this.enumerable = true;
|
||||||
|
|
||||||
Object.defineProperty(obj, "property", fnGlobalObject());
|
Object.defineProperty(obj, "property", this);
|
||||||
|
|
||||||
for (var prop in obj) {
|
for (var prop in obj) {
|
||||||
if (prop === "property") {
|
if (prop === "property") {
|
||||||
|
@ -6,13 +6,12 @@ es5id: 15.2.3.6-3-70
|
|||||||
description: >
|
description: >
|
||||||
Object.defineProperty - value of 'enumerable' property in
|
Object.defineProperty - value of 'enumerable' property in
|
||||||
'Attributes' is the global object (8.10.5 step 3.b)
|
'Attributes' is the global object (8.10.5 step 3.b)
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var obj = {};
|
var obj = {};
|
||||||
var accessed = false;
|
var accessed = false;
|
||||||
|
|
||||||
Object.defineProperty(obj, "property", { enumerable: fnGlobalObject() });
|
Object.defineProperty(obj, "property", { enumerable: this });
|
||||||
|
|
||||||
for (var prop in obj) {
|
for (var prop in obj) {
|
||||||
if (prop === "property") {
|
if (prop === "property") {
|
||||||
|
@ -7,14 +7,13 @@ description: >
|
|||||||
Object.defineProperty - 'Attributes' is the global object that
|
Object.defineProperty - 'Attributes' is the global object that
|
||||||
uses Object's [[Get]] method to access the 'configurable' property
|
uses Object's [[Get]] method to access the 'configurable' property
|
||||||
(8.10.5 step 4.a)
|
(8.10.5 step 4.a)
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var obj = {};
|
var obj = {};
|
||||||
|
|
||||||
fnGlobalObject().configurable = true;
|
this.configurable = true;
|
||||||
|
|
||||||
Object.defineProperty(obj, "property", fnGlobalObject());
|
Object.defineProperty(obj, "property", this);
|
||||||
|
|
||||||
var beforeDeleted = obj.hasOwnProperty("property");
|
var beforeDeleted = obj.hasOwnProperty("property");
|
||||||
|
|
||||||
|
@ -8,11 +8,11 @@ description: >
|
|||||||
property successfully when [[Configurable]] attribute is true and
|
property successfully when [[Configurable]] attribute is true and
|
||||||
[[Writable]] attribute is false, 'O' is the global object (8.12.9
|
[[Writable]] attribute is false, 'O' is the global object (8.12.9
|
||||||
- step Note)
|
- step Note)
|
||||||
includes: [propertyHelper.js, fnGlobalObject.js]
|
includes: [propertyHelper.js]
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
|
||||||
var obj = fnGlobalObject();
|
var obj = this;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Object.defineProperty(obj, "0", {
|
Object.defineProperty(obj, "0", {
|
||||||
|
@ -8,7 +8,7 @@ description: >
|
|||||||
property 'P' successfully when [[Configurable]] attribute is true
|
property 'P' successfully when [[Configurable]] attribute is true
|
||||||
and [[Writable]] attribute is false, 'A' is an Array object
|
and [[Writable]] attribute is false, 'A' is an Array object
|
||||||
(8.12.9 step - Note)
|
(8.12.9 step - Note)
|
||||||
includes: [propertyHelper.js, fnGlobalObject.js]
|
includes: [propertyHelper.js]
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
|
||||||
|
@ -7,11 +7,11 @@ description: >
|
|||||||
Object.defineProperty will update [[Value]] attribute successfully
|
Object.defineProperty will update [[Value]] attribute successfully
|
||||||
when [[Configurable]] attribute is true and [[Writable]] attribute
|
when [[Configurable]] attribute is true and [[Writable]] attribute
|
||||||
is false, 'O' is the global object (8.12.9 - step Note)
|
is false, 'O' is the global object (8.12.9 - step Note)
|
||||||
includes: [propertyHelper.js, fnGlobalObject.js]
|
includes: [propertyHelper.js]
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
|
||||||
var obj = fnGlobalObject();
|
var obj = this;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Object.defineProperty(obj, "property", {
|
Object.defineProperty(obj, "property", {
|
||||||
|
@ -7,12 +7,10 @@ description: >
|
|||||||
ES5 Attributes - property 'P' with attributes [[Writable]]: false,
|
ES5 Attributes - property 'P' with attributes [[Writable]]: false,
|
||||||
[[Enumerable]]: true, [[Configurable]]: true is non-writable using
|
[[Enumerable]]: true, [[Configurable]]: true is non-writable using
|
||||||
simple assignment, 'O' is the global object
|
simple assignment, 'O' is the global object
|
||||||
includes:
|
includes: [propertyHelper.js]
|
||||||
- propertyHelper.js
|
|
||||||
- fnGlobalObject.js
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var obj = fnGlobalObject();
|
var obj = this;
|
||||||
|
|
||||||
Object.defineProperty(obj, "prop", {
|
Object.defineProperty(obj, "prop", {
|
||||||
value: 2010,
|
value: 2010,
|
||||||
|
@ -8,12 +8,10 @@ description: >
|
|||||||
[[Writable]]: false, [[Enumerable]]: true, [[Configurable]]: true
|
[[Writable]]: false, [[Enumerable]]: true, [[Configurable]]: true
|
||||||
to an accessor property, 'O' is the global object (8.12.9 - step
|
to an accessor property, 'O' is the global object (8.12.9 - step
|
||||||
9.b.i)
|
9.b.i)
|
||||||
includes:
|
includes: [propertyHelper.js]
|
||||||
- propertyHelper.js
|
|
||||||
- fnGlobalObject.js
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var obj = fnGlobalObject();
|
var obj = this;
|
||||||
|
|
||||||
Object.defineProperty(obj, "prop", {
|
Object.defineProperty(obj, "prop", {
|
||||||
value: 2010,
|
value: 2010,
|
||||||
|
@ -8,14 +8,14 @@ description: >
|
|||||||
attributes are [[Writable]]: false, [[Enumerable]]: true,
|
attributes are [[Writable]]: false, [[Enumerable]]: true,
|
||||||
[[Configurable]]: true to an accessor property, 'O' is the global
|
[[Configurable]]: true to an accessor property, 'O' is the global
|
||||||
object (8.12.9 - step 9.b.i)
|
object (8.12.9 - step 9.b.i)
|
||||||
includes: [propertyHelper.js, fnGlobalObject.js]
|
includes: [propertyHelper.js]
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
function getFunc() {
|
function getFunc() {
|
||||||
return 20;
|
return 20;
|
||||||
}
|
}
|
||||||
|
|
||||||
var obj = fnGlobalObject();
|
var obj = this;
|
||||||
try {
|
try {
|
||||||
Object.defineProperty(obj, "0", {
|
Object.defineProperty(obj, "0", {
|
||||||
value: 2010,
|
value: 2010,
|
||||||
|
@ -6,16 +6,15 @@ es5id: 15.2.3.6-4-399
|
|||||||
description: >
|
description: >
|
||||||
ES5 Attributes - [[Value]] attribute of data property is the
|
ES5 Attributes - [[Value]] attribute of data property is the
|
||||||
global object
|
global object
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var obj = {};
|
var obj = {};
|
||||||
|
|
||||||
Object.defineProperty(obj, "prop", {
|
Object.defineProperty(obj, "prop", {
|
||||||
value: fnGlobalObject()
|
value: this
|
||||||
});
|
});
|
||||||
|
|
||||||
var desc = Object.getOwnPropertyDescriptor(obj, "prop");
|
var desc = Object.getOwnPropertyDescriptor(obj, "prop");
|
||||||
|
|
||||||
assert.sameValue(obj.prop, fnGlobalObject(), 'obj.prop');
|
assert.sameValue(obj.prop, this, 'obj.prop');
|
||||||
assert.sameValue(desc.value, fnGlobalObject(), 'desc.value');
|
assert.sameValue(desc.value, this, 'desc.value');
|
||||||
|
@ -7,18 +7,18 @@ description: >
|
|||||||
Object.defineProperty - 'O' is the global object that uses
|
Object.defineProperty - 'O' is the global object that uses
|
||||||
Object's [[GetOwnProperty]] method to access the 'name' property
|
Object's [[GetOwnProperty]] method to access the 'name' property
|
||||||
(8.12.9 step 1)
|
(8.12.9 step 1)
|
||||||
includes: [propertyHelper.js, fnGlobalObject.js]
|
includes: [propertyHelper.js]
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
Object.defineProperty(fnGlobalObject(), "foo", {
|
Object.defineProperty(this, "foo", {
|
||||||
value: 12,
|
value: 12,
|
||||||
configurable: true
|
configurable: true
|
||||||
});
|
});
|
||||||
|
|
||||||
verifyEqualTo(fnGlobalObject(), "foo", 12);
|
verifyEqualTo(this, "foo", 12);
|
||||||
|
|
||||||
verifyNotWritable(fnGlobalObject(), "foo");
|
verifyNotWritable(this, "foo");
|
||||||
|
|
||||||
verifyNotEnumerable(fnGlobalObject(), "foo");
|
verifyNotEnumerable(this, "foo");
|
||||||
|
|
||||||
verifyConfigurable(fnGlobalObject(), "foo");
|
verifyConfigurable(this, "foo");
|
||||||
|
@ -8,11 +8,11 @@ description: >
|
|||||||
of indexed accessor property 'P' successfully when
|
of indexed accessor property 'P' successfully when
|
||||||
[[Configurable]] attribute is true, 'O' is the global object
|
[[Configurable]] attribute is true, 'O' is the global object
|
||||||
(8.12.9 step 11)
|
(8.12.9 step 11)
|
||||||
includes: [propertyHelper.js, fnGlobalObject.js]
|
includes: [propertyHelper.js]
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
|
||||||
var obj = fnGlobalObject();
|
var obj = this;
|
||||||
try {
|
try {
|
||||||
obj.verifySetFunction = "data";
|
obj.verifySetFunction = "data";
|
||||||
Object.defineProperty(obj, "0", {
|
Object.defineProperty(obj, "0", {
|
||||||
|
@ -7,10 +7,9 @@ description: >
|
|||||||
ES5 Attributes - Updating an indexed accessor property 'P' using
|
ES5 Attributes - Updating an indexed accessor property 'P' using
|
||||||
simple assignment is successful, 'O' is the global object (8.12.5
|
simple assignment is successful, 'O' is the global object (8.12.5
|
||||||
step 5.b)
|
step 5.b)
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var obj = fnGlobalObject();
|
var obj = this;
|
||||||
|
|
||||||
obj.verifySetFunc = "data";
|
obj.verifySetFunc = "data";
|
||||||
var setFunc = function (value) {
|
var setFunc = function (value) {
|
||||||
|
@ -7,11 +7,11 @@ description: >
|
|||||||
Object.defineProperty will update [[Get]] and [[Set]] attributes
|
Object.defineProperty will update [[Get]] and [[Set]] attributes
|
||||||
of named accessor property 'P' successfully when [[Configurable]]
|
of named accessor property 'P' successfully when [[Configurable]]
|
||||||
attribute is true, 'O' is the global object (8.12.9 step 11)
|
attribute is true, 'O' is the global object (8.12.9 step 11)
|
||||||
includes: [propertyHelper.js, fnGlobalObject.js]
|
includes: [propertyHelper.js]
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
|
||||||
var obj = fnGlobalObject();
|
var obj = this;
|
||||||
try {
|
try {
|
||||||
obj.verifySetFunction = "data";
|
obj.verifySetFunction = "data";
|
||||||
Object.defineProperty(obj, "property", {
|
Object.defineProperty(obj, "property", {
|
||||||
|
@ -7,12 +7,10 @@ description: >
|
|||||||
ES5 Attributes - Updating a named accessor property 'P' without
|
ES5 Attributes - Updating a named accessor property 'P' without
|
||||||
[[Set]] using simple assignment is failed, 'O' is the global
|
[[Set]] using simple assignment is failed, 'O' is the global
|
||||||
object (8.12.5 step 5.b)
|
object (8.12.5 step 5.b)
|
||||||
includes:
|
includes: [propertyHelper.js]
|
||||||
- propertyHelper.js
|
|
||||||
- fnGlobalObject.js
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var obj = fnGlobalObject();
|
var obj = this;
|
||||||
|
|
||||||
obj.verifySetFunc = "data";
|
obj.verifySetFunc = "data";
|
||||||
var getFunc = function () {
|
var getFunc = function () {
|
||||||
|
@ -7,10 +7,10 @@ description: >
|
|||||||
ES5 Attributes - Updating a named accessor property 'P' whose
|
ES5 Attributes - Updating a named accessor property 'P' whose
|
||||||
[[Configurable]] attribute is true to a data property is
|
[[Configurable]] attribute is true to a data property is
|
||||||
successful, 'O' is the global object
|
successful, 'O' is the global object
|
||||||
includes: [propertyHelper.js, fnGlobalObject.js]
|
includes: [propertyHelper.js]
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var obj = fnGlobalObject();
|
var obj = this;
|
||||||
|
|
||||||
obj.verifySetFunc = "data";
|
obj.verifySetFunc = "data";
|
||||||
var getFunc = function () {
|
var getFunc = function () {
|
||||||
|
@ -7,10 +7,10 @@ description: >
|
|||||||
ES5 Attributes - Updating an indexed accessor property 'P' whose
|
ES5 Attributes - Updating an indexed accessor property 'P' whose
|
||||||
[[Configurable]] attribute is true to a data property is
|
[[Configurable]] attribute is true to a data property is
|
||||||
successful, 'O' is the global object
|
successful, 'O' is the global object
|
||||||
includes: [propertyHelper.js, fnGlobalObject.js]
|
includes: [propertyHelper.js]
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var obj = fnGlobalObject();
|
var obj = this;
|
||||||
|
|
||||||
obj.verifySetFunc = "data";
|
obj.verifySetFunc = "data";
|
||||||
var getFunc = function () {
|
var getFunc = function () {
|
||||||
|
@ -6,10 +6,9 @@ es5id: 15.2.3.3-4-10
|
|||||||
description: >
|
description: >
|
||||||
Object.getOwnPropertyDescriptor returns data desc for functions on
|
Object.getOwnPropertyDescriptor returns data desc for functions on
|
||||||
built-ins (Global.decodeURIComponent)
|
built-ins (Global.decodeURIComponent)
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var global = fnGlobalObject();
|
var global = this;
|
||||||
var desc = Object.getOwnPropertyDescriptor(global, "decodeURIComponent");
|
var desc = Object.getOwnPropertyDescriptor(global, "decodeURIComponent");
|
||||||
|
|
||||||
assert.sameValue(desc.value, global.decodeURIComponent, 'desc.value');
|
assert.sameValue(desc.value, global.decodeURIComponent, 'desc.value');
|
||||||
|
@ -6,10 +6,9 @@ es5id: 15.2.3.3-4-11
|
|||||||
description: >
|
description: >
|
||||||
Object.getOwnPropertyDescriptor returns data desc for functions on
|
Object.getOwnPropertyDescriptor returns data desc for functions on
|
||||||
built-ins (Global.encodeURIComponent)
|
built-ins (Global.encodeURIComponent)
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var global = fnGlobalObject();
|
var global = this;
|
||||||
var desc = Object.getOwnPropertyDescriptor(global, "encodeURIComponent");
|
var desc = Object.getOwnPropertyDescriptor(global, "encodeURIComponent");
|
||||||
|
|
||||||
assert.sameValue(desc.value, global.encodeURIComponent, 'desc.value');
|
assert.sameValue(desc.value, global.encodeURIComponent, 'desc.value');
|
||||||
|
@ -6,11 +6,10 @@ es5id: 15.2.3.3-4-178
|
|||||||
description: >
|
description: >
|
||||||
Object.getOwnPropertyDescriptor returns data desc (all false) for
|
Object.getOwnPropertyDescriptor returns data desc (all false) for
|
||||||
properties on built-ins (Global.NaN)
|
properties on built-ins (Global.NaN)
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
// in non-strict mode, 'this' is bound to the global object.
|
// in non-strict mode, 'this' is bound to the global object.
|
||||||
var desc = Object.getOwnPropertyDescriptor(fnGlobalObject(), "NaN");
|
var desc = Object.getOwnPropertyDescriptor(this, "NaN");
|
||||||
|
|
||||||
assert.sameValue(desc.writable, false, 'desc.writable');
|
assert.sameValue(desc.writable, false, 'desc.writable');
|
||||||
assert.sameValue(desc.enumerable, false, 'desc.enumerable');
|
assert.sameValue(desc.enumerable, false, 'desc.enumerable');
|
||||||
|
@ -6,11 +6,10 @@ es5id: 15.2.3.3-4-179
|
|||||||
description: >
|
description: >
|
||||||
Object.getOwnPropertyDescriptor returns data desc (all false) for
|
Object.getOwnPropertyDescriptor returns data desc (all false) for
|
||||||
properties on built-ins (Global.Infinity)
|
properties on built-ins (Global.Infinity)
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
// in non-strict mode, 'this' is bound to the global object.
|
// in non-strict mode, 'this' is bound to the global object.
|
||||||
var desc = Object.getOwnPropertyDescriptor(fnGlobalObject(), "Infinity");
|
var desc = Object.getOwnPropertyDescriptor(this, "Infinity");
|
||||||
|
|
||||||
assert.sameValue(desc.writable, false, 'desc.writable');
|
assert.sameValue(desc.writable, false, 'desc.writable');
|
||||||
assert.sameValue(desc.enumerable, false, 'desc.enumerable');
|
assert.sameValue(desc.enumerable, false, 'desc.enumerable');
|
||||||
|
@ -6,11 +6,10 @@ es5id: 15.2.3.3-4-180
|
|||||||
description: >
|
description: >
|
||||||
Object.getOwnPropertyDescriptor returns data desc (all false) for
|
Object.getOwnPropertyDescriptor returns data desc (all false) for
|
||||||
properties on built-ins (Global.undefined)
|
properties on built-ins (Global.undefined)
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
// in non-strict mode, 'this' is bound to the global object.
|
// in non-strict mode, 'this' is bound to the global object.
|
||||||
var desc = Object.getOwnPropertyDescriptor(fnGlobalObject(), "undefined");
|
var desc = Object.getOwnPropertyDescriptor(this, "undefined");
|
||||||
|
|
||||||
assert.sameValue(desc.writable, false, 'desc.writable');
|
assert.sameValue(desc.writable, false, 'desc.writable');
|
||||||
assert.sameValue(desc.enumerable, false, 'desc.enumerable');
|
assert.sameValue(desc.enumerable, false, 'desc.enumerable');
|
||||||
|
@ -6,10 +6,9 @@ es5id: 15.2.3.3-4-4
|
|||||||
description: >
|
description: >
|
||||||
Object.getOwnPropertyDescriptor returns data desc for functions on
|
Object.getOwnPropertyDescriptor returns data desc for functions on
|
||||||
built-ins (Global.eval)
|
built-ins (Global.eval)
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var global = fnGlobalObject();
|
var global = this;
|
||||||
var desc = Object.getOwnPropertyDescriptor(global, "eval");
|
var desc = Object.getOwnPropertyDescriptor(global, "eval");
|
||||||
|
|
||||||
assert.sameValue(desc.value, global.eval, 'desc.value');
|
assert.sameValue(desc.value, global.eval, 'desc.value');
|
||||||
|
@ -6,10 +6,9 @@ es5id: 15.2.3.3-4-5
|
|||||||
description: >
|
description: >
|
||||||
Object.getOwnPropertyDescriptor returns data desc for functions on
|
Object.getOwnPropertyDescriptor returns data desc for functions on
|
||||||
built-ins (Global.parseInt)
|
built-ins (Global.parseInt)
|
||||||
includes: [fnGlobalObject.js]
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var global = fnGlobalObject();
|
var global = this;
|
||||||
var desc = Object.getOwnPropertyDescriptor(global, "parseInt");
|
var desc = Object.getOwnPropertyDescriptor(global, "parseInt");
|
||||||
|
|
||||||
assert.sameValue(desc.value, global.parseInt, 'desc.value');
|
assert.sameValue(desc.value, global.parseInt, 'desc.value');
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user