mirror of
https://github.com/tc39/test262.git
synced 2025-07-29 00:44:32 +02:00
built-ins/String/*: make all indentation consistent (depth & character) (#1430)
This commit is contained in:
parent
af37c92af7
commit
19ca734bea
@ -11,7 +11,9 @@ description: Call String(new Array)
|
||||
|
||||
var __old__Array__prototype__toString = Array.prototype.toString;
|
||||
|
||||
Array.prototype.toString=function(){return "__ARRAY__";};
|
||||
Array.prototype.toString = function() {
|
||||
return "__ARRAY__";
|
||||
};
|
||||
|
||||
var __str = String(new Array);
|
||||
|
||||
|
@ -9,7 +9,9 @@ es5id: 15.5.1.1_A1_T9
|
||||
description: Call String(this)
|
||||
---*/
|
||||
|
||||
var toString=function(){return "__THIS__";};
|
||||
var toString = function() {
|
||||
return "__THIS__";
|
||||
};
|
||||
|
||||
var __str = String(this);
|
||||
|
||||
|
@ -13,7 +13,9 @@ description: >
|
||||
|
||||
function __FACTORY() {};
|
||||
|
||||
__FACTORY.prototype.toString=function(){return "tostr"};
|
||||
__FACTORY.prototype.toString = function() {
|
||||
return "tostr"
|
||||
};
|
||||
|
||||
var __obj = new __FACTORY;
|
||||
|
||||
|
@ -13,9 +13,13 @@ description: >
|
||||
|
||||
function __obj() {};
|
||||
|
||||
__obj.valueOf=function(){return true;};
|
||||
__obj.valueOf = function() {
|
||||
return true;
|
||||
};
|
||||
|
||||
__obj.toString=function(){return {};};
|
||||
__obj.toString = function() {
|
||||
return {};
|
||||
};
|
||||
|
||||
var __str = new String(__obj);
|
||||
|
||||
|
@ -12,9 +12,15 @@ description: >
|
||||
exception throw
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){throw "intostr"}};
|
||||
var __obj = {
|
||||
toString: function() {
|
||||
throw "intostr"
|
||||
}
|
||||
};
|
||||
|
||||
__obj.valueOf=function(){return true};
|
||||
__obj.valueOf = function() {
|
||||
return true
|
||||
};
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#1
|
||||
|
@ -12,9 +12,17 @@ description: >
|
||||
exception throw
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){return f; function f(){}}};
|
||||
var __obj = {
|
||||
toString: function() {
|
||||
return f;
|
||||
|
||||
__obj.valueOf=function(){throw "invalueof"};
|
||||
function f() {}
|
||||
}
|
||||
};
|
||||
|
||||
__obj.valueOf = function() {
|
||||
throw "invalueof"
|
||||
};
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#1
|
||||
|
@ -11,7 +11,9 @@ description: Creating string object with "new String({})"
|
||||
|
||||
var __stored__Object__prototype__toString = Object.prototype.toString;
|
||||
|
||||
Object.prototype.toString=function(){return "SHIFTED"};
|
||||
Object.prototype.toString = function() {
|
||||
return "SHIFTED"
|
||||
};
|
||||
|
||||
var __str = new String({});
|
||||
|
||||
|
@ -11,7 +11,9 @@ description: Creating string object with "new String(function(){})"
|
||||
|
||||
var __stored__Function__prototype__toString = Function.prototype.toString;
|
||||
|
||||
Function.prototype.toString=function(){return "SHIFTED"};
|
||||
Function.prototype.toString = function() {
|
||||
return "SHIFTED"
|
||||
};
|
||||
|
||||
var __str = new String(function() {});
|
||||
|
||||
|
@ -11,7 +11,9 @@ description: >
|
||||
[1,2,3]}())"
|
||||
---*/
|
||||
|
||||
var __str = new String(function(){return [1,2,3]}());
|
||||
var __str = new String(function() {
|
||||
return [1, 2, 3]
|
||||
}());
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#1
|
||||
|
@ -19,8 +19,12 @@ if (__str__instance.length !== 6) {
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
__str__instance.valueOf = function(){return "ed"};
|
||||
__str__instance.toString = function(){return "ed"};
|
||||
__str__instance.valueOf = function() {
|
||||
return "ed"
|
||||
};
|
||||
__str__instance.toString = function() {
|
||||
return "ed"
|
||||
};
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#2
|
||||
|
@ -12,7 +12,11 @@ description: Try to overload toString method
|
||||
|
||||
try
|
||||
{
|
||||
var __obj = {toString: function() {return new Object();}}
|
||||
var __obj = {
|
||||
toString: function() {
|
||||
return new Object();
|
||||
}
|
||||
}
|
||||
String(__obj);
|
||||
$ERROR('#1.1: var __obj = {toString: function() {return new Object();}}; String(__obj) throw TypeError. Actual: ' + (String(__obj)));
|
||||
}
|
||||
|
@ -15,7 +15,14 @@ description: >
|
||||
|
||||
try
|
||||
{
|
||||
var __obj = {toString: function() {return new Object();}, valueOf: function() {return 1;}}
|
||||
var __obj = {
|
||||
toString: function() {
|
||||
return new Object();
|
||||
},
|
||||
valueOf: function() {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
if (String(__obj) !== "1") {
|
||||
$ERROR('#1.1: var __obj = {toString: function() {return new Object();}, valueOf: function() {return 1;}}; String(__obj) === "1". Actual: ' + (String(__obj)));
|
||||
}
|
||||
|
@ -12,13 +12,27 @@ description: >
|
||||
---*/
|
||||
|
||||
// CHECK#1
|
||||
var object = {valueOf: function() {return 0}, toString: function() {return 1}};
|
||||
var object = {
|
||||
valueOf: function() {
|
||||
return 0
|
||||
},
|
||||
toString: function() {
|
||||
return 1
|
||||
}
|
||||
};
|
||||
if (String(object) !== "1") {
|
||||
$ERROR('#1: var object = {valueOf: function() {return 0}, toString: function() {return 1}}; String(object) === "1". Actual: ' + (String(object)));
|
||||
}
|
||||
|
||||
// CHECK#2
|
||||
var object = {valueOf: function() {return 0}, toString: function() {return {}}};
|
||||
var object = {
|
||||
valueOf: function() {
|
||||
return 0
|
||||
},
|
||||
toString: function() {
|
||||
return {}
|
||||
}
|
||||
};
|
||||
if (String(object) !== "0") {
|
||||
$ERROR('#2: var object = {valueOf: function() {return 0}, toString: function() {return {}}}; String(object) === "0". Actual: ' + (String(object)));
|
||||
}
|
||||
|
@ -61,9 +61,15 @@ if (String(new Array(2,4,8,16,32)) !== "2,4,8,16,32") {
|
||||
|
||||
// CHECK#11
|
||||
var myobj1 = {
|
||||
toNumber : function(){return 12345;},
|
||||
toString : function(){return 67890;},
|
||||
valueOf : function(){return "[object MyObj]";}
|
||||
toNumber: function() {
|
||||
return 12345;
|
||||
},
|
||||
toString: function() {
|
||||
return 67890;
|
||||
},
|
||||
valueOf: function() {
|
||||
return "[object MyObj]";
|
||||
}
|
||||
};
|
||||
|
||||
if (String(myobj1) !== "67890") {
|
||||
@ -72,9 +78,15 @@ if (String(myobj1) !== "67890"){
|
||||
|
||||
// CHECK#12
|
||||
var myobj2 = {
|
||||
toNumber : function(){return 12345;},
|
||||
toString : function(){return {}},
|
||||
valueOf : function(){return "[object MyObj]";}
|
||||
toNumber: function() {
|
||||
return 12345;
|
||||
},
|
||||
toString: function() {
|
||||
return {}
|
||||
},
|
||||
valueOf: function() {
|
||||
return "[object MyObj]";
|
||||
}
|
||||
};
|
||||
|
||||
if (String(myobj2) !== "[object MyObj]") {
|
||||
@ -83,8 +95,12 @@ if (String(myobj2) !== "[object MyObj]"){
|
||||
|
||||
// CHECK#13
|
||||
var myobj3 = {
|
||||
toNumber : function(){return 12345;},
|
||||
valueOf : function(){return "[object MyObj]";}
|
||||
toNumber: function() {
|
||||
return 12345;
|
||||
},
|
||||
valueOf: function() {
|
||||
return "[object MyObj]";
|
||||
}
|
||||
};
|
||||
|
||||
if (String(myobj3) !== "[object Object]") {
|
||||
|
@ -8,26 +8,51 @@ description: Type(x) is Object
|
||||
---*/
|
||||
|
||||
//CHECK#1
|
||||
var object = {valueOf: function() {return 1}};
|
||||
var object = {
|
||||
valueOf: function() {
|
||||
return 1
|
||||
}
|
||||
};
|
||||
if (String.fromCharCode(object).charCodeAt(0) !== 1) {
|
||||
$ERROR('#1: var object = {valueOf: function() {return 1}}; String.fromCharCode(object).charCodeAt(0) === 1. Actual: ' + (String.fromCharCode(object).charCodeAt(0)));
|
||||
}
|
||||
|
||||
//CHECK#2
|
||||
var object = {valueOf: function() {return 1}, toString: function() {return 0}};
|
||||
var object = {
|
||||
valueOf: function() {
|
||||
return 1
|
||||
},
|
||||
toString: function() {
|
||||
return 0
|
||||
}
|
||||
};
|
||||
if (String.fromCharCode(object).charCodeAt(0) !== 1) {
|
||||
$ERROR('#2: var object = {valueOf: function() {return 1}, toString: function() {return 0}}; String.fromCharCode(object).charCodeAt(0) === 1. Actual: ' + (String.fromCharCode(object).charCodeAt(0)));
|
||||
}
|
||||
|
||||
//CHECK#3
|
||||
var object = {valueOf: function() {return 1}, toString: function() {return {}}};
|
||||
var object = {
|
||||
valueOf: function() {
|
||||
return 1
|
||||
},
|
||||
toString: function() {
|
||||
return {}
|
||||
}
|
||||
};
|
||||
if (String.fromCharCode(object).charCodeAt(0) !== 1) {
|
||||
$ERROR('#3: var object = {valueOf: function() {return 1}, toString: function() {return {}}}; String.fromCharCode(object).charCodeAt(0) === 1. Actual: ' + (String.fromCharCode(object).charCodeAt(0)));
|
||||
}
|
||||
|
||||
//CHECK#4
|
||||
try {
|
||||
var object = {valueOf: function() {return 1}, toString: function() {throw "error"}};
|
||||
var object = {
|
||||
valueOf: function() {
|
||||
return 1
|
||||
},
|
||||
toString: function() {
|
||||
throw "error"
|
||||
}
|
||||
};
|
||||
if (String.fromCharCode(object).charCodeAt(0) !== 1) {
|
||||
$ERROR('#4.1: var object = {valueOf: function() {return 1}, toString: function() {throw "error"}}; String.fromCharCode(object).charCodeAt(0) === 1. Actual: ' + (String.fromCharCode(object).charCodeAt(0)));
|
||||
}
|
||||
@ -41,20 +66,38 @@ catch (e) {
|
||||
}
|
||||
|
||||
//CHECK#5
|
||||
var object = {toString: function() {return 1}};
|
||||
var object = {
|
||||
toString: function() {
|
||||
return 1
|
||||
}
|
||||
};
|
||||
if (String.fromCharCode(object).charCodeAt(0) !== 1) {
|
||||
$ERROR('#5: var object = {toString: function() {return 1}}; String.fromCharCode(object).charCodeAt(0) === 1. Actual: ' + (String.fromCharCode(object).charCodeAt(0)));
|
||||
}
|
||||
|
||||
//CHECK#6
|
||||
var object = {valueOf: function() {return {}}, toString: function() {return 1}}
|
||||
var object = {
|
||||
valueOf: function() {
|
||||
return {}
|
||||
},
|
||||
toString: function() {
|
||||
return 1
|
||||
}
|
||||
}
|
||||
if (String.fromCharCode(object).charCodeAt(0) !== 1) {
|
||||
$ERROR('#6: var object = {valueOf: function() {return {}}, toString: function() {return 1}}; String.fromCharCode(object).charCodeAt(0) === 1. Actual: ' + (String.fromCharCode(object).charCodeAt(0)));
|
||||
}
|
||||
|
||||
//CHECK#7
|
||||
try {
|
||||
var object = {valueOf: function() {throw "error"}, toString: function() {return 1}};
|
||||
var object = {
|
||||
valueOf: function() {
|
||||
throw "error"
|
||||
},
|
||||
toString: function() {
|
||||
return 1
|
||||
}
|
||||
};
|
||||
object >>> 0;
|
||||
$ERROR('#7.1: var object = {valueOf: function() {throw "error"}, toString: function() {return 1}}; object throw "error". Actual: ' + (object >>> 0));
|
||||
}
|
||||
@ -66,7 +109,14 @@ catch (e) {
|
||||
|
||||
//CHECK#8
|
||||
try {
|
||||
var object = {valueOf: function() {return {}}, toString: function() {return {}}};
|
||||
var object = {
|
||||
valueOf: function() {
|
||||
return {}
|
||||
},
|
||||
toString: function() {
|
||||
return {}
|
||||
}
|
||||
};
|
||||
object >>> 0;
|
||||
$ERROR('#8.1: var object = {valueOf: function() {return {}}, toString: function() {return {}}}; object throw TypeError. Actual: ' + (object >>> 0));
|
||||
}
|
||||
|
@ -25,6 +25,10 @@ assert.sameValue(String.fromCodePoint(true), '\x01');
|
||||
assert.sameValue(String.fromCodePoint('42'), '\x2A');
|
||||
assert.sameValue(String.fromCodePoint('042'), '\x2A');
|
||||
assert.sameValue(
|
||||
String.fromCodePoint({ valueOf: function() { return 31; } }),
|
||||
String.fromCodePoint({
|
||||
valueOf: function() {
|
||||
return 31;
|
||||
}
|
||||
}),
|
||||
'\x1F'
|
||||
);
|
||||
|
@ -18,7 +18,9 @@ if (!(String.hasOwnProperty('prototype'))) {
|
||||
|
||||
var __obj = String.prototype;
|
||||
|
||||
verifyNotWritable(String, "prototype", null, function(){return "shifted";});
|
||||
verifyNotWritable(String, "prototype", null, function() {
|
||||
return "shifted";
|
||||
});
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#2
|
||||
|
@ -7,7 +7,11 @@ es5id: 15.5.4.4_A1.1
|
||||
description: Checking by using eval
|
||||
---*/
|
||||
|
||||
function __FACTORY(){this.toString = function(){ return "wizard";};};
|
||||
function __FACTORY() {
|
||||
this.toString = function() {
|
||||
return "wizard";
|
||||
};
|
||||
};
|
||||
|
||||
__FACTORY.prototype.charAt = String.prototype.charAt;
|
||||
|
||||
|
@ -20,7 +20,9 @@ if (!(String.prototype.charAt.hasOwnProperty('length'))) {
|
||||
|
||||
var __obj = String.prototype.charAt.length;
|
||||
|
||||
verifyNotWritable(String.prototype.charAt, "length", null, function(){return "shifted";});
|
||||
verifyNotWritable(String.prototype.charAt, "length", null, function() {
|
||||
return "shifted";
|
||||
});
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#2
|
||||
|
@ -7,7 +7,11 @@ es5id: 15.5.4.4_A1_T10
|
||||
description: Call charAt() function with object argument
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){return 1;}}
|
||||
var __obj = {
|
||||
toString: function() {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
var __str = "lego";
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -10,8 +10,12 @@ description: Call charAt() function with null argument of function object
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#1
|
||||
//since ToInteger(null) evaluates to 0 charAt() evaluates to charAt(0)
|
||||
if (function(){return "lego"}().charAt(null) !== "l") {
|
||||
$ERROR('#1: function(){return "lego"}().charAt(null) === "l". Actual: function(){return "lego"}().charAt(null) ==='+function(){return "lego"}().charAt(null) );
|
||||
if (function() {
|
||||
return "lego"
|
||||
}().charAt(null) !== "l") {
|
||||
$ERROR('#1: function(){return "lego"}().charAt(null) === "l". Actual: function(){return "lego"}().charAt(null) ===' + function() {
|
||||
return "lego"
|
||||
}().charAt(null));
|
||||
}
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -11,7 +11,9 @@ description: Change toString function, it trow exception, and call charAt()
|
||||
|
||||
var __obj = {
|
||||
valueOf: 1,
|
||||
toString:function(){throw 'intostring'},
|
||||
toString: function() {
|
||||
throw 'intostring'
|
||||
},
|
||||
charAt: String.prototype.charAt
|
||||
}
|
||||
|
||||
|
@ -7,7 +7,11 @@ es5id: 15.5.4.5_A1.1
|
||||
description: Checking by using eval
|
||||
---*/
|
||||
|
||||
function __FACTORY(){this.toString = function(){ return "wizard";};};
|
||||
function __FACTORY() {
|
||||
this.toString = function() {
|
||||
return "wizard";
|
||||
};
|
||||
};
|
||||
|
||||
__FACTORY.prototype.charCodeAt = String.prototype.charCodeAt;
|
||||
|
||||
|
@ -20,7 +20,9 @@ if (!(String.prototype.charCodeAt.hasOwnProperty('length'))) {
|
||||
|
||||
var __obj = String.prototype.charCodeAt.length;
|
||||
|
||||
verifyNotWritable(String.prototype.charCodeAt, "length", null, function(){return "shifted";});
|
||||
verifyNotWritable(String.prototype.charCodeAt, "length", null, function() {
|
||||
return "shifted";
|
||||
});
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#2
|
||||
|
@ -7,7 +7,11 @@ es5id: 15.5.4.5_A1_T10
|
||||
description: Call charCodeAt() function with object argument
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){return 1;}}
|
||||
var __obj = {
|
||||
toString: function() {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
var __str = "lego";
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -10,8 +10,12 @@ description: Call charCodeAt() function with null argument of function object
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#1
|
||||
//since ToInteger(null) evaluates to 0 charCodeAt() evaluates to charCodeAt(0)
|
||||
if (function(){return "lego"}().charCodeAt(null) !== 0x6C) {
|
||||
$ERROR('#1: function(){return "lego"}().charCodeAt(null) === 0x6C. Actual: '+function(){return "lego"}().charCodeAt(null) );
|
||||
if (function() {
|
||||
return "lego"
|
||||
}().charCodeAt(null) !== 0x6C) {
|
||||
$ERROR('#1: function(){return "lego"}().charCodeAt(null) === 0x6C. Actual: ' + function() {
|
||||
return "lego"
|
||||
}().charCodeAt(null));
|
||||
}
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -11,7 +11,9 @@ description: Change toString function, it trow exception, and call charCodeAt()
|
||||
|
||||
var __obj = {
|
||||
valueOf: 1,
|
||||
toString:function(){throw 'intostring'},
|
||||
toString: function() {
|
||||
throw 'intostring'
|
||||
},
|
||||
charCodeAt: String.prototype.charCodeAt
|
||||
}
|
||||
|
||||
|
@ -20,7 +20,9 @@ if (!(String.prototype.concat.hasOwnProperty('length'))) {
|
||||
|
||||
var __obj = String.prototype.concat.length;
|
||||
|
||||
verifyNotWritable(String.prototype.concat, "length", null, function(){return "shifted";});
|
||||
verifyNotWritable(String.prototype.concat, "length", null, function() {
|
||||
return "shifted";
|
||||
});
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#2
|
||||
|
@ -7,9 +7,24 @@ es5id: 15.5.4.6_A1_T10
|
||||
description: Call concat([,[...]]) function with object arguments
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){return "\u0041";}, valueOf:function(){return "_\u0041_";}}
|
||||
var __obj2 = {toString:function(){return true;}}
|
||||
var __obj3 = {toString:function(){return 42;}}
|
||||
var __obj = {
|
||||
toString: function() {
|
||||
return "\u0041";
|
||||
},
|
||||
valueOf: function() {
|
||||
return "_\u0041_";
|
||||
}
|
||||
}
|
||||
var __obj2 = {
|
||||
toString: function() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
var __obj3 = {
|
||||
toString: function() {
|
||||
return 42;
|
||||
}
|
||||
}
|
||||
var __str = "lego";
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -12,8 +12,12 @@ description: >
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#1
|
||||
//since ToString(null) evaluates to "null" concat(null) evaluates to concat("null")
|
||||
if (function(){return "lego"}().concat(null) !== "legonull") {
|
||||
$ERROR('#1: function(){return "lego"}().concat(null) === "legonull". Actual: '+function(){return "lego"}().concat(null) );
|
||||
if (function() {
|
||||
return "lego"
|
||||
}().concat(null) !== "legonull") {
|
||||
$ERROR('#1: function(){return "lego"}().concat(null) === "legonull". Actual: ' + function() {
|
||||
return "lego"
|
||||
}().concat(null));
|
||||
}
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -9,7 +9,11 @@ es5id: 15.5.4.6_A4_T1
|
||||
description: Override toString function
|
||||
---*/
|
||||
|
||||
var __instance = {toString:function(){return "one"}};
|
||||
var __instance = {
|
||||
toString: function() {
|
||||
return "one"
|
||||
}
|
||||
};
|
||||
|
||||
__instance.concat = String.prototype.concat;
|
||||
|
||||
|
@ -9,8 +9,16 @@ es5id: 15.5.4.6_A4_T2
|
||||
description: Override toString function onto function, that throw exception
|
||||
---*/
|
||||
|
||||
var __instance = {toString:function(){throw "intostring";}};
|
||||
var __obj = {toString:function(){throw "infirstarg";}};
|
||||
var __instance = {
|
||||
toString: function() {
|
||||
throw "intostring";
|
||||
}
|
||||
};
|
||||
var __obj = {
|
||||
toString: function() {
|
||||
throw "infirstarg";
|
||||
}
|
||||
};
|
||||
|
||||
__instance.concat = String.prototype.concat;
|
||||
|
||||
|
@ -20,7 +20,9 @@ if (!(String.prototype.indexOf.hasOwnProperty('length'))) {
|
||||
|
||||
var __obj = String.prototype.indexOf.length;
|
||||
|
||||
verifyNotWritable(String.prototype.indexOf, "length", null, function(){return "shifted";});
|
||||
verifyNotWritable(String.prototype.indexOf, "length", null, function() {
|
||||
return "shifted";
|
||||
});
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#2
|
||||
|
@ -7,8 +7,16 @@ es5id: 15.5.4.7_A1_T10
|
||||
description: Call indexOf(searchString, position) function with object arguments
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){return "\u0041B";}}
|
||||
var __obj2 = {valueOf:function(){return true;}}
|
||||
var __obj = {
|
||||
toString: function() {
|
||||
return "\u0041B";
|
||||
}
|
||||
}
|
||||
var __obj2 = {
|
||||
valueOf: function() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
var __str = "ABB\u0041BABAB";
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -15,8 +15,12 @@ __instance.indexOf = String.prototype.indexOf;
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#1
|
||||
if (__instance.indexOf("A"!=="\u0041", function(){return 0;}(),null) !== 0) {
|
||||
$ERROR('#1: __instance = new Boolean; __instance.indexOf = String.prototype.indexOf; __instance.indexOf("A"!=="\\u0041", function(){return 0;}(),null) === 0. Actual: '+__instance.indexOf("A"!=="\u0041", function(){return 0;}(),null) );
|
||||
if (__instance.indexOf("A" !== "\u0041", function() {
|
||||
return 0;
|
||||
}(), null) !== 0) {
|
||||
$ERROR('#1: __instance = new Boolean; __instance.indexOf = String.prototype.indexOf; __instance.indexOf("A"!=="\\u0041", function(){return 0;}(),null) === 0. Actual: ' + __instance.indexOf("A" !== "\u0041", function() {
|
||||
return 0;
|
||||
}(), null));
|
||||
}
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -12,8 +12,12 @@ description: >
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#1
|
||||
//since ToString(null) evaluates to "null" indexOf(null) evaluates to indexOf("",0)
|
||||
if (function(){return "gnulluna"}().indexOf(null) !== 1) {
|
||||
$ERROR('#1: function(){return "gnulluna"}().indexOf(null) === 1. Actual: '+function(){return "gnulluna"}().indexOf(null) );
|
||||
if (function() {
|
||||
return "gnulluna"
|
||||
}().indexOf(null) !== 1) {
|
||||
$ERROR('#1: function(){return "gnulluna"}().indexOf(null) === 1. Actual: ' + function() {
|
||||
return "gnulluna"
|
||||
}().indexOf(null));
|
||||
}
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -9,7 +9,9 @@ description: >
|
||||
of string object
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){}};
|
||||
var __obj = {
|
||||
toString: function() {}
|
||||
};
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#1
|
||||
|
@ -13,8 +13,12 @@ description: >
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#1
|
||||
if ("$$abcdabcd".indexOf("ab", function(){return -Infinity;}())!==2) {
|
||||
$ERROR('#1: "$$abcdabcd".indexOf("ab", function(){return -Infinity;}())===2. Actual: '+("$$abcdabcd".indexOf("ab", function(){return -Infinity;}())));
|
||||
if ("$$abcdabcd".indexOf("ab", function() {
|
||||
return -Infinity;
|
||||
}()) !== 2) {
|
||||
$ERROR('#1: "$$abcdabcd".indexOf("ab", function(){return -Infinity;}())===2. Actual: ' + ("$$abcdabcd".indexOf("ab", function() {
|
||||
return -Infinity;
|
||||
}())));
|
||||
}
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -9,8 +9,16 @@ es5id: 15.5.4.7_A4_T1
|
||||
description: Override toString and valueOf functions, valueOf throw exception
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){return "\u0041B";}}
|
||||
var __obj2 = {valueOf:function(){throw "intointeger";}}
|
||||
var __obj = {
|
||||
toString: function() {
|
||||
return "\u0041B";
|
||||
}
|
||||
}
|
||||
var __obj2 = {
|
||||
valueOf: function() {
|
||||
throw "intointeger";
|
||||
}
|
||||
}
|
||||
var __str = "ABB\u0041BABAB";
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -11,8 +11,19 @@ description: >
|
||||
exception
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){return "\u0041B";}}
|
||||
var __obj2 = {valueOf:function(){return {};},toString:function(){throw "intointeger";}}
|
||||
var __obj = {
|
||||
toString: function() {
|
||||
return "\u0041B";
|
||||
}
|
||||
}
|
||||
var __obj2 = {
|
||||
valueOf: function() {
|
||||
return {};
|
||||
},
|
||||
toString: function() {
|
||||
throw "intointeger";
|
||||
}
|
||||
}
|
||||
var __str = new String("ABB\u0041BABAB");
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -9,8 +9,19 @@ es5id: 15.5.4.7_A4_T3
|
||||
description: Override toString and valueOf functions
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){return "\u0041B";}}
|
||||
var __obj2 = {valueOf:function(){return {};},toString:function(){return "1";}}
|
||||
var __obj = {
|
||||
toString: function() {
|
||||
return "\u0041B";
|
||||
}
|
||||
}
|
||||
var __obj2 = {
|
||||
valueOf: function() {
|
||||
return {};
|
||||
},
|
||||
toString: function() {
|
||||
return "1";
|
||||
}
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#1
|
||||
|
@ -9,8 +9,16 @@ es5id: 15.5.4.7_A4_T4
|
||||
description: Override toString and valueOf functions, and they throw exceptions
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){throw "intostr";}};
|
||||
var __obj2 = {valueOf:function(){throw "intoint";}};
|
||||
var __obj = {
|
||||
toString: function() {
|
||||
throw "intostr";
|
||||
}
|
||||
};
|
||||
var __obj2 = {
|
||||
valueOf: function() {
|
||||
throw "intoint";
|
||||
}
|
||||
};
|
||||
var __instance = new Number(10001.10001);
|
||||
Number.prototype.indexOf = String.prototype.indexOf;
|
||||
|
||||
|
@ -11,9 +11,20 @@ description: >
|
||||
throw exception
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){return {};},valueOf:function(){throw "intostr";}};
|
||||
var __obj = {
|
||||
toString: function() {
|
||||
return {};
|
||||
},
|
||||
valueOf: function() {
|
||||
throw "intostr";
|
||||
}
|
||||
};
|
||||
|
||||
var __obj2 = {valueOf:function(){throw "intointeger";}};
|
||||
var __obj2 = {
|
||||
valueOf: function() {
|
||||
throw "intointeger";
|
||||
}
|
||||
};
|
||||
|
||||
__FACTORY.prototype.indexOf = String.prototype.indexOf;
|
||||
|
||||
@ -34,6 +45,10 @@ try {
|
||||
|
||||
function __FACTORY(value) {
|
||||
this.value = value;
|
||||
this.toString = function() { return new Number; };
|
||||
this.valueOf=function(){return this.value+""};
|
||||
this.toString = function() {
|
||||
return new Number;
|
||||
};
|
||||
this.valueOf = function() {
|
||||
return this.value + ""
|
||||
};
|
||||
}
|
||||
|
@ -22,7 +22,9 @@ if (!(String.prototype.lastIndexOf.hasOwnProperty('length'))) {
|
||||
|
||||
var __obj = String.prototype.lastIndexOf.length;
|
||||
|
||||
verifyNotWritable(String.prototype.lastIndexOf, "length", null, function(){return "shifted";});
|
||||
verifyNotWritable(String.prototype.lastIndexOf, "length", null, function() {
|
||||
return "shifted";
|
||||
});
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#2
|
||||
|
@ -9,8 +9,16 @@ description: >
|
||||
arguments
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){return "\u0041B";}}
|
||||
var __obj2 = {valueOf:function(){return NaN;}}
|
||||
var __obj = {
|
||||
toString: function() {
|
||||
return "\u0041B";
|
||||
}
|
||||
}
|
||||
var __obj2 = {
|
||||
valueOf: function() {
|
||||
return NaN;
|
||||
}
|
||||
}
|
||||
var __str = "ABB\u0041BABAB";
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -15,8 +15,12 @@ __instance.lastIndexOf = String.prototype.lastIndexOf;
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#1
|
||||
if (__instance.lastIndexOf("A"!=="\u0041", function(){return 0;}(),null) !== 0) {
|
||||
$ERROR('#1: __instance = new Boolean; __instance.lastIndexOf = String.prototype.lastIndexOf; __instance.lastIndexOf("A"!=="\\u0041", function(){return 0;}(),null) === 0. Actual: '+__instance.lastIndexOf("A"!=="\u0041", function(){return 0;}(),null) );
|
||||
if (__instance.lastIndexOf("A" !== "\u0041", function() {
|
||||
return 0;
|
||||
}(), null) !== 0) {
|
||||
$ERROR('#1: __instance = new Boolean; __instance.lastIndexOf = String.prototype.lastIndexOf; __instance.lastIndexOf("A"!=="\\u0041", function(){return 0;}(),null) === 0. Actual: ' + __instance.lastIndexOf("A" !== "\u0041", function() {
|
||||
return 0;
|
||||
}(), null));
|
||||
}
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -12,8 +12,12 @@ description: >
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#1
|
||||
//since ToString(null) evaluates to "null" lastIndexOf(null) evaluates to lastIndexOf("",0)
|
||||
if (function(){return "gnullunazzgnull"}().lastIndexOf(null) !== 11) {
|
||||
$ERROR('#1: function(){return "gnullunazzgnull"}().lastIndexOf(null) === 11. Actual: '+function(){return "gnullunazzgnull"}().lastIndexOf(null) );
|
||||
if (function() {
|
||||
return "gnullunazzgnull"
|
||||
}().lastIndexOf(null) !== 11) {
|
||||
$ERROR('#1: function(){return "gnullunazzgnull"}().lastIndexOf(null) === 11. Actual: ' + function() {
|
||||
return "gnullunazzgnull"
|
||||
}().lastIndexOf(null));
|
||||
}
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -9,7 +9,9 @@ description: >
|
||||
argument of string object
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){}};
|
||||
var __obj = {
|
||||
toString: function() {}
|
||||
};
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#1
|
||||
|
@ -9,8 +9,16 @@ es5id: 15.5.4.8_A4_T1
|
||||
description: Override toString and valueOf functions, valueOf throw exception
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){return "\u0041B";}}
|
||||
var __obj2 = {valueOf:function(){throw "intointeger";}}
|
||||
var __obj = {
|
||||
toString: function() {
|
||||
return "\u0041B";
|
||||
}
|
||||
}
|
||||
var __obj2 = {
|
||||
valueOf: function() {
|
||||
throw "intointeger";
|
||||
}
|
||||
}
|
||||
var __str = "ABB\u0041BABAB";
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -11,8 +11,19 @@ description: >
|
||||
exception
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){return "\u0041B";}}
|
||||
var __obj2 = {valueOf:function(){return {};},toString:function(){throw "intointeger";}}
|
||||
var __obj = {
|
||||
toString: function() {
|
||||
return "\u0041B";
|
||||
}
|
||||
}
|
||||
var __obj2 = {
|
||||
valueOf: function() {
|
||||
return {};
|
||||
},
|
||||
toString: function() {
|
||||
throw "intointeger";
|
||||
}
|
||||
}
|
||||
var __str = new String("ABB\u0041BABAB");
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -9,8 +9,17 @@ es5id: 15.5.4.8_A4_T3
|
||||
description: Override toString and valueOf functions
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){return "\u0041B";}}
|
||||
var __obj2 = {valueOf:function(){return {};},toString:function(){}}
|
||||
var __obj = {
|
||||
toString: function() {
|
||||
return "\u0041B";
|
||||
}
|
||||
}
|
||||
var __obj2 = {
|
||||
valueOf: function() {
|
||||
return {};
|
||||
},
|
||||
toString: function() {}
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#1
|
||||
|
@ -9,8 +9,16 @@ es5id: 15.5.4.8_A4_T4
|
||||
description: Override toString and valueOf functions, and they throw exceptions
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){throw "intostr";}};
|
||||
var __obj2 = {valueOf:function(){throw "intoint";}};
|
||||
var __obj = {
|
||||
toString: function() {
|
||||
throw "intostr";
|
||||
}
|
||||
};
|
||||
var __obj2 = {
|
||||
valueOf: function() {
|
||||
throw "intoint";
|
||||
}
|
||||
};
|
||||
var __instance = new Number(10001.10001);
|
||||
Number.prototype.lastIndexOf = String.prototype.lastIndexOf;
|
||||
|
||||
|
@ -11,9 +11,20 @@ description: >
|
||||
throw exception
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){return {};},valueOf:function(){throw "intostr";}};
|
||||
var __obj = {
|
||||
toString: function() {
|
||||
return {};
|
||||
},
|
||||
valueOf: function() {
|
||||
throw "intostr";
|
||||
}
|
||||
};
|
||||
|
||||
var __obj2 = {valueOf:function(){throw "intointeger";}};
|
||||
var __obj2 = {
|
||||
valueOf: function() {
|
||||
throw "intointeger";
|
||||
}
|
||||
};
|
||||
|
||||
__FACTORY.prototype.lastIndexOf = String.prototype.lastIndexOf;
|
||||
|
||||
@ -34,6 +45,10 @@ try {
|
||||
|
||||
function __FACTORY(value) {
|
||||
this.value = value;
|
||||
this.toString = function() { return new Number; };
|
||||
this.valueOf=function(){return this.value+""};
|
||||
this.toString = function() {
|
||||
return new Number;
|
||||
};
|
||||
this.valueOf = function() {
|
||||
return this.value + ""
|
||||
};
|
||||
}
|
||||
|
@ -22,7 +22,9 @@ if (!(String.prototype.localeCompare.hasOwnProperty('length'))) {
|
||||
|
||||
var __obj = String.prototype.localeCompare.length;
|
||||
|
||||
verifyNotWritable(String.prototype.localeCompare, "length", null, function(){return "shifted";});
|
||||
verifyNotWritable(String.prototype.localeCompare, "length", null, function() {
|
||||
return "shifted";
|
||||
});
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#2
|
||||
|
@ -7,7 +7,11 @@ es5id: 15.5.4.10_A1_T10
|
||||
description: Call match (regexp) function with object argument
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){return "\u0041B";}}
|
||||
var __obj = {
|
||||
toString: function() {
|
||||
return "\u0041B";
|
||||
}
|
||||
}
|
||||
var __str = "ABB\u0041BABAB";
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -9,7 +9,11 @@ description: >
|
||||
match (regexp) function with this object as argument
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){throw "intostr";}}
|
||||
var __obj = {
|
||||
toString: function() {
|
||||
throw "intostr";
|
||||
}
|
||||
}
|
||||
var __str = "ABB\u0041BABAB";
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -9,7 +9,14 @@ description: >
|
||||
then call match (regexp) function with this object as argument
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){return {};},valueOf:function(){throw "intostr";}}
|
||||
var __obj = {
|
||||
toString: function() {
|
||||
return {};
|
||||
},
|
||||
valueOf: function() {
|
||||
throw "intostr";
|
||||
}
|
||||
}
|
||||
var __str = new String("ABB\u0041BABAB");
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -9,7 +9,14 @@ description: >
|
||||
function with this object as argument
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){return {};},valueOf:function(){return 1;}}
|
||||
var __obj = {
|
||||
toString: function() {
|
||||
return {};
|
||||
},
|
||||
valueOf: function() {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#1
|
||||
|
@ -11,7 +11,8 @@ var match = String.prototype.match.bind(this);
|
||||
|
||||
try {
|
||||
this.toString = Object.prototype.toString;
|
||||
} catch (e) { ; }
|
||||
} catch (e) {;
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#1
|
||||
|
@ -10,8 +10,12 @@ description: Call match (regexp) function with null argument of function object
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#1
|
||||
//since ToString(null) evaluates to "null" match(null) evaluates to match("null")
|
||||
if (function(){return "gnulluna"}().match(null)[0] !== "null") {
|
||||
$ERROR('#1: function(){return "gnulluna"}().match(null)[0] === "null". Actual: '+function(){return "gnulluna"}().match(null)[0] );
|
||||
if (function() {
|
||||
return "gnulluna"
|
||||
}().match(null)[0] !== "null") {
|
||||
$ERROR('#1: function(){return "gnulluna"}().match(null)[0] === "null". Actual: ' + function() {
|
||||
return "gnulluna"
|
||||
}().match(null)[0]);
|
||||
}
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -7,7 +7,9 @@ es5id: 15.5.4.10_A1_T8
|
||||
description: Call match (regexp) function with void 0 argument of string object;
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){}};
|
||||
var __obj = {
|
||||
toString: function() {}
|
||||
};
|
||||
|
||||
var __matched = String(__obj).match(void 0);
|
||||
|
||||
|
@ -15,8 +15,12 @@ __instance.match = String.prototype.match;
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#1
|
||||
if (__instance.match(function(){return false;}())[0] !== "false") {
|
||||
$ERROR('#1: __instance = new Boolean; __instance.match = String.prototype.match; __instance.match(function(){return false;}())[0] === "false". Actual: '+__instance.match(function(){return false;}())[0] );
|
||||
if (__instance.match(function() {
|
||||
return false;
|
||||
}())[0] !== "false") {
|
||||
$ERROR('#1: __instance = new Boolean; __instance.match = String.prototype.match; __instance.match(function(){return false;}())[0] === "false". Actual: ' + __instance.match(function() {
|
||||
return false;
|
||||
}())[0]);
|
||||
}
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -23,14 +23,18 @@ var s = '\u00C5\u2ADC\u0958\u2126\u0344';
|
||||
var nfc = '\xC5\u2ADD\u0338\u0915\u093C\u03A9\u0308\u0301';
|
||||
var nfd = 'A\u030A\u2ADD\u0338\u0915\u093C\u03A9\u0308\u0301';
|
||||
var o = {
|
||||
toString: function() { return 'NFC'; }
|
||||
toString: function() {
|
||||
return 'NFC';
|
||||
}
|
||||
};
|
||||
|
||||
assert.sameValue(s.normalize(['NFC']), nfc, 'coerced array - NFC');
|
||||
assert.sameValue(s.normalize(o), nfc, 'coerced object - NFC');
|
||||
|
||||
o = {
|
||||
toString: function() { return 'NFD'; }
|
||||
toString: function() {
|
||||
return 'NFD';
|
||||
}
|
||||
};
|
||||
|
||||
assert.sameValue(s.normalize(['NFD']), nfd, 'coerced array - NFD');
|
||||
|
@ -20,7 +20,9 @@ if (!(String.prototype.replace.hasOwnProperty('length'))) {
|
||||
|
||||
var __obj = String.prototype.replace.length;
|
||||
|
||||
verifyNotWritable(String.prototype.replace, "length", null, function(){return "shifted";});
|
||||
verifyNotWritable(String.prototype.replace, "length", null, function() {
|
||||
return "shifted";
|
||||
});
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#2
|
||||
|
@ -10,14 +10,22 @@ description: >
|
||||
function
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){return "\u0041B";}};
|
||||
var __obj = {
|
||||
toString: function() {
|
||||
return "\u0041B";
|
||||
}
|
||||
};
|
||||
|
||||
var __str = "ABB\u0041BABAB";
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#1
|
||||
if (__str.replace(__obj, function(){return x;}) !== "undefinedBABABAB") {
|
||||
$ERROR('#1: var x; var __obj = {toString:function(){return "\u0041B";}}; var __str = "ABB\u0041BABAB"; replace(__obj, function(){return x;}) === "undefinedBABABAB". Actual: '+__str.replace(__obj, function(){return x;}) );
|
||||
if (__str.replace(__obj, function() {
|
||||
return x;
|
||||
}) !== "undefinedBABABAB") {
|
||||
$ERROR('#1: var x; var __obj = {toString:function(){return "\u0041B";}}; var __str = "ABB\u0041BABAB"; replace(__obj, function(){return x;}) === "undefinedBABABAB". Actual: ' + __str.replace(__obj, function() {
|
||||
return x;
|
||||
}));
|
||||
}
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -10,8 +10,16 @@ description: >
|
||||
function, that throw exception
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){throw "insearchValue";}};
|
||||
var __obj2 = {toString:function(){throw "inreplaceValue";}};
|
||||
var __obj = {
|
||||
toString: function() {
|
||||
throw "insearchValue";
|
||||
}
|
||||
};
|
||||
var __obj2 = {
|
||||
toString: function() {
|
||||
throw "inreplaceValue";
|
||||
}
|
||||
};
|
||||
var __str = "ABB\u0041BABAB";
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -11,8 +11,19 @@ description: >
|
||||
have overrided toString function, that throw exception
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){return {};}, valueOf:function(){throw "insearchValue";}};
|
||||
var __obj2 = {toString:function(){throw "inreplaceValue";}};
|
||||
var __obj = {
|
||||
toString: function() {
|
||||
return {};
|
||||
},
|
||||
valueOf: function() {
|
||||
throw "insearchValue";
|
||||
}
|
||||
};
|
||||
var __obj2 = {
|
||||
toString: function() {
|
||||
throw "inreplaceValue";
|
||||
}
|
||||
};
|
||||
var __str = new String("ABB\u0041BABAB");
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -11,8 +11,19 @@ description: >
|
||||
function, that throw exception
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){return {};}, valueOf:function(){return 1;}};
|
||||
var __obj2 = {toString:function(){throw "inreplaceValue";}};
|
||||
var __obj = {
|
||||
toString: function() {
|
||||
return {};
|
||||
},
|
||||
valueOf: function() {
|
||||
return 1;
|
||||
}
|
||||
};
|
||||
var __obj2 = {
|
||||
toString: function() {
|
||||
throw "inreplaceValue";
|
||||
}
|
||||
};
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#1
|
||||
|
@ -7,7 +7,11 @@ es5id: 15.5.4.11_A1_T15
|
||||
description: Instance is Object, searchValue is regular expression
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){return /77/}};
|
||||
var __obj = {
|
||||
toString: function() {
|
||||
return /77/
|
||||
}
|
||||
};
|
||||
|
||||
var __instance = new Object(1100.00777001);
|
||||
|
||||
|
@ -13,7 +13,13 @@ var __instance = new Number(1100.00777001);
|
||||
|
||||
Number.prototype.replace = String.prototype.replace;
|
||||
|
||||
var __obj = {toString:function(){return function(a1,a2,a3){return a2+"z"};}}
|
||||
var __obj = {
|
||||
toString: function() {
|
||||
return function(a1, a2, a3) {
|
||||
return a2 + "z"
|
||||
};
|
||||
}
|
||||
}
|
||||
//__obj = function(a1,a2,a3){return a2+"z"};
|
||||
|
||||
|
||||
|
@ -15,8 +15,12 @@ __instance.replace = String.prototype.replace;
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#1
|
||||
if (__instance.replace(function(){return false;}(),x) !== "undefined") {
|
||||
$ERROR('#1: var x; __instance = new Boolean; __instance.replace = String.prototype.replace; __instance.replace(function(){return false;}(),x) === "undefined". Actual: '+__instance.replace(function(){return false;}(),x) );
|
||||
if (__instance.replace(function() {
|
||||
return false;
|
||||
}(), x) !== "undefined") {
|
||||
$ERROR('#1: var x; __instance = new Boolean; __instance.replace = String.prototype.replace; __instance.replace(function(){return false;}(),x) === "undefined". Actual: ' + __instance.replace(function() {
|
||||
return false;
|
||||
}(), x));
|
||||
}
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -11,8 +11,16 @@ description: >
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#1
|
||||
if (function(){return "gnulluna"}().replace(null,function(a1,a2,a3){return a2+"";}) !== "g1una") {
|
||||
$ERROR('#1: function(){return "gnulluna"}().replace(null,function(a1,a2,a3){return a2+"";}) === "g1una". Actual: '+function(){return "gnulluna"}().replace(null,function(a1,a2,a3){return a2+"";}) );
|
||||
if (function() {
|
||||
return "gnulluna"
|
||||
}().replace(null, function(a1, a2, a3) {
|
||||
return a2 + "";
|
||||
}) !== "g1una") {
|
||||
$ERROR('#1: function(){return "gnulluna"}().replace(null,function(a1,a2,a3){return a2+"";}) === "g1una". Actual: ' + function() {
|
||||
return "gnulluna"
|
||||
}().replace(null, function(a1, a2, a3) {
|
||||
return a2 + "";
|
||||
}));
|
||||
}
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -11,8 +11,12 @@ description: >
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#1
|
||||
if (function(){return "gnulluna"}().replace(null, Function()) !== "gundefineduna") {
|
||||
$ERROR('#1: function(){return "gnulluna"}().replace(null, Function()) === "gundefineduna". Actual: '+function(){return "gnulluna"}().replace(null, Function()) );
|
||||
if (function() {
|
||||
return "gnulluna"
|
||||
}().replace(null, Function()) !== "gundefineduna") {
|
||||
$ERROR('#1: function(){return "gnulluna"}().replace(null, Function()) === "gundefineduna". Actual: ' + function() {
|
||||
return "gnulluna"
|
||||
}().replace(null, Function()));
|
||||
}
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -9,7 +9,9 @@ description: >
|
||||
expression and void 0 arguments of String object
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){}};
|
||||
var __obj = {
|
||||
toString: function() {}
|
||||
};
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#1
|
||||
|
@ -22,4 +22,6 @@ if (new String(__obj).replace(function(){}(),__func) !== "undefined0undefined")
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
function __func(a1,a2,a3){return a1+a2+a3;};
|
||||
function __func(a1, a2, a3) {
|
||||
return a1 + a2 + a3;
|
||||
};
|
||||
|
@ -20,7 +20,9 @@ if (!(String.prototype.search.hasOwnProperty('length'))) {
|
||||
|
||||
var __obj = String.prototype.search.length;
|
||||
|
||||
verifyNotWritable(String.prototype.search, "length", null, function(){return "shifted";});
|
||||
verifyNotWritable(String.prototype.search, "length", null, function() {
|
||||
return "shifted";
|
||||
});
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#2
|
||||
|
@ -9,7 +9,11 @@ description: >
|
||||
toString function
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){return "\u0041B";}};
|
||||
var __obj = {
|
||||
toString: function() {
|
||||
return "\u0041B";
|
||||
}
|
||||
};
|
||||
var __str = "ssABB\u0041BABAB";
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -9,7 +9,11 @@ description: >
|
||||
toString function, that throw exception
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){throw "intostr";}}
|
||||
var __obj = {
|
||||
toString: function() {
|
||||
throw "intostr";
|
||||
}
|
||||
}
|
||||
var __str = "ABB\u0041BABAB";
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -9,7 +9,14 @@ description: >
|
||||
toString and valueOf functions, valueOf throw exception
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){return {};},valueOf:function(){throw "intostr";}}
|
||||
var __obj = {
|
||||
toString: function() {
|
||||
return {};
|
||||
},
|
||||
valueOf: function() {
|
||||
throw "intostr";
|
||||
}
|
||||
}
|
||||
var __str = new String("ABB\u0041BABAB");
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -9,7 +9,14 @@ description: >
|
||||
toString and valueOf functions
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){return {};},valueOf:function(){return 1;}}
|
||||
var __obj = {
|
||||
toString: function() {
|
||||
return {};
|
||||
},
|
||||
valueOf: function() {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#1
|
||||
|
@ -13,8 +13,12 @@ __instance.search = String.prototype.search;
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#1
|
||||
if (__instance.search(function(){return false;}()) !== 0) {
|
||||
$ERROR('#1: __instance = new Boolean; __instance.search = String.prototype.search; __instance.search(function(){return false;}()) === 0. Actual: '+__instance.search(function(){return false;}()) );
|
||||
if (__instance.search(function() {
|
||||
return false;
|
||||
}()) !== 0) {
|
||||
$ERROR('#1: __instance = new Boolean; __instance.search = String.prototype.search; __instance.search(function(){return false;}()) === 0. Actual: ' + __instance.search(function() {
|
||||
return false;
|
||||
}()));
|
||||
}
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -10,8 +10,12 @@ description: Argument is null, and instance is function call, that return string
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#1
|
||||
//since ToString(null) evaluates to "null" search(null) evaluates to search("null")
|
||||
if (function(){return "gnulluna"}().search(null) !== 1) {
|
||||
$ERROR('#1: function(){return "gnulluna"}().search(null) === 1. Actual: '+function(){return "gnulluna"}().search(null) );
|
||||
if (function() {
|
||||
return "gnulluna"
|
||||
}().search(null) !== 1) {
|
||||
$ERROR('#1: function(){return "gnulluna"}().search(null) === 1. Actual: ' + function() {
|
||||
return "gnulluna"
|
||||
}().search(null));
|
||||
}
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -9,7 +9,9 @@ description: >
|
||||
toString function
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){}};
|
||||
var __obj = {
|
||||
toString: function() {}
|
||||
};
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#1
|
||||
|
@ -20,7 +20,9 @@ if (!(String.prototype.slice.hasOwnProperty('length'))) {
|
||||
|
||||
var __obj = String.prototype.slice.length;
|
||||
|
||||
verifyNotWritable(String.prototype.slice, "length", null, function(){return "shifted";});
|
||||
verifyNotWritable(String.prototype.slice, "length", null, function() {
|
||||
return "shifted";
|
||||
});
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#2
|
||||
|
@ -9,14 +9,22 @@ description: >
|
||||
object have overrided valueOf function
|
||||
---*/
|
||||
|
||||
var __obj = {valueOf:function(){return 2;}};
|
||||
var __obj = {
|
||||
valueOf: function() {
|
||||
return 2;
|
||||
}
|
||||
};
|
||||
|
||||
var __str = "\u0035ABBBABAB";
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#1
|
||||
if (__str.slice(__obj, function(){return __str.slice(0,1);}()) !== "BBB") {
|
||||
$ERROR('#1: var x; var __obj = {valueOf:function(){return 2;}}; var __str = "\u0035ABBBABAB"; __str.slice(__obj, function(){return __str.slice(0,1);}()) === "BBB". Actual: '+__str.slice(__obj, function(){return __str.slice(0,1);}()) );
|
||||
if (__str.slice(__obj, function() {
|
||||
return __str.slice(0, 1);
|
||||
}()) !== "BBB") {
|
||||
$ERROR('#1: var x; var __obj = {valueOf:function(){return 2;}}; var __str = "\u0035ABBBABAB"; __str.slice(__obj, function(){return __str.slice(0,1);}()) === "BBB". Actual: ' + __str.slice(__obj, function() {
|
||||
return __str.slice(0, 1);
|
||||
}()));
|
||||
}
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -9,8 +9,16 @@ description: >
|
||||
overrided valueOf function, that return exception
|
||||
---*/
|
||||
|
||||
var __obj = {valueOf:function(){throw "instart";}};
|
||||
var __obj2 = {valueOf:function(){throw "inend";}};
|
||||
var __obj = {
|
||||
valueOf: function() {
|
||||
throw "instart";
|
||||
}
|
||||
};
|
||||
var __obj2 = {
|
||||
valueOf: function() {
|
||||
throw "inend";
|
||||
}
|
||||
};
|
||||
var __str = "ABB\u0041BABAB";
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -11,8 +11,19 @@ description: >
|
||||
return exception
|
||||
---*/
|
||||
|
||||
var __obj = {valueOf:function(){return {};}, toString:function(){throw "instart";}};
|
||||
var __obj2 = {valueOf:function(){throw "inend";}};
|
||||
var __obj = {
|
||||
valueOf: function() {
|
||||
return {};
|
||||
},
|
||||
toString: function() {
|
||||
throw "instart";
|
||||
}
|
||||
};
|
||||
var __obj2 = {
|
||||
valueOf: function() {
|
||||
throw "inend";
|
||||
}
|
||||
};
|
||||
var __str = new String("ABB\u0041BABAB");
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -10,8 +10,19 @@ description: >
|
||||
overrided toString function, that return exception
|
||||
---*/
|
||||
|
||||
var __obj = {valueOf:function(){return {};}, toString:function(){return 1;}};
|
||||
var __obj2 = {toString:function(){throw "inend";}};
|
||||
var __obj = {
|
||||
valueOf: function() {
|
||||
return {};
|
||||
},
|
||||
toString: function() {
|
||||
return 1;
|
||||
}
|
||||
};
|
||||
var __obj2 = {
|
||||
toString: function() {
|
||||
throw "inend";
|
||||
}
|
||||
};
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#1
|
||||
|
@ -15,8 +15,12 @@ __instance.slice = String.prototype.slice;
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#1
|
||||
if (__instance.slice(function(){return true;}(),x) !== "alse") {
|
||||
$ERROR('#1: var x; __instance = new Boolean; __instance.slice = String.prototype.slice; __instance.slice(function(){return true;}(),x) === "alse". Actual: '+__instance.slice(function(){return true;}(),x) );
|
||||
if (__instance.slice(function() {
|
||||
return true;
|
||||
}(), x) !== "alse") {
|
||||
$ERROR('#1: var x; __instance = new Boolean; __instance.slice = String.prototype.slice; __instance.slice(function(){return true;}(),x) === "alse". Actual: ' + __instance.slice(function() {
|
||||
return true;
|
||||
}(), x));
|
||||
}
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -12,8 +12,12 @@ description: >
|
||||
//since ToInteger(null) yelds 0
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#1
|
||||
if (function(){return "gnulluna"}().slice(null, -3) !== "gnull") {
|
||||
$ERROR('#1: function(){return "gnulluna"}().slice(null, -3) === "gnull". Actual: '+function(){return "gnulluna"}().slice(null, -3) );
|
||||
if (function() {
|
||||
return "gnulluna"
|
||||
}().slice(null, -3) !== "gnull") {
|
||||
$ERROR('#1: function(){return "gnulluna"}().slice(null, -3) === "gnull". Actual: ' + function() {
|
||||
return "gnulluna"
|
||||
}().slice(null, -3));
|
||||
}
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -10,8 +10,12 @@ description: >
|
||||
functions
|
||||
---*/
|
||||
|
||||
__func.valueOf=function(){return "gnulluna"};
|
||||
__func.toString=function(){return __func;};
|
||||
__func.valueOf = function() {
|
||||
return "gnulluna"
|
||||
};
|
||||
__func.toString = function() {
|
||||
return __func;
|
||||
};
|
||||
|
||||
Function.prototype.slice = String.prototype.slice;
|
||||
|
||||
|
@ -9,7 +9,9 @@ description: >
|
||||
String(object), object have overrided toString function
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){}};
|
||||
var __obj = {
|
||||
toString: function() {}
|
||||
};
|
||||
|
||||
//since void 0 yelds 0
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -9,7 +9,11 @@ description: >
|
||||
instance.slice(...).slice(...)
|
||||
---*/
|
||||
|
||||
var __instance = { toString: function() { return "function(){}";} };
|
||||
var __instance = {
|
||||
toString: function() {
|
||||
return "function(){}";
|
||||
}
|
||||
};
|
||||
|
||||
__instance.slice = String.prototype.slice;
|
||||
|
||||
|
@ -9,7 +9,9 @@ description: >
|
||||
instance passes
|
||||
---*/
|
||||
|
||||
__FACTORY.prototype.toString = function() { return this.value+''; };
|
||||
__FACTORY.prototype.toString = function() {
|
||||
return this.value + '';
|
||||
};
|
||||
|
||||
var __instance = new __FACTORY(void 0);
|
||||
|
||||
|
@ -20,7 +20,9 @@ if (!(String.prototype.split.hasOwnProperty('length'))) {
|
||||
|
||||
var __obj = String.prototype.split.length;
|
||||
|
||||
verifyNotWritable(String.prototype.split, "length", null, function(){return "shifted";});
|
||||
verifyNotWritable(String.prototype.split, "length", null, function() {
|
||||
return "shifted";
|
||||
});
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//CHECK#2
|
||||
|
@ -15,8 +15,16 @@ description: >
|
||||
function
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){return "\u0042B";}}
|
||||
var __obj2 = {valueOf:function(){return true;}}
|
||||
var __obj = {
|
||||
toString: function() {
|
||||
return "\u0042B";
|
||||
}
|
||||
}
|
||||
var __obj2 = {
|
||||
valueOf: function() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
var __str = "ABB\u0041BABAB";
|
||||
|
||||
var __split = __str.split(__obj, __obj2);
|
||||
|
@ -15,8 +15,16 @@ description: >
|
||||
function, that throw exception
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){return "\u0041B";}}
|
||||
var __obj2 = {valueOf:function(){throw "intointeger";}}
|
||||
var __obj = {
|
||||
toString: function() {
|
||||
return "\u0041B";
|
||||
}
|
||||
}
|
||||
var __obj2 = {
|
||||
valueOf: function() {
|
||||
throw "intointeger";
|
||||
}
|
||||
}
|
||||
var __str = "ABB\u0041BABAB";
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -15,8 +15,19 @@ description: >
|
||||
function and toString function, that throw exception
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){return "\u0041B";}}
|
||||
var __obj2 = {valueOf:function(){return {};},toString:function(){throw "intointeger";}}
|
||||
var __obj = {
|
||||
toString: function() {
|
||||
return "\u0041B";
|
||||
}
|
||||
}
|
||||
var __obj2 = {
|
||||
valueOf: function() {
|
||||
return {};
|
||||
},
|
||||
toString: function() {
|
||||
throw "intointeger";
|
||||
}
|
||||
}
|
||||
var __str = new String("ABB\u0041BABAB");
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -15,8 +15,19 @@ description: >
|
||||
and toString functions
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){return "\u0042\u0042";}}
|
||||
var __obj2 = {valueOf:function(){return {};},toString:function(){return "2";}}
|
||||
var __obj = {
|
||||
toString: function() {
|
||||
return "\u0042\u0042";
|
||||
}
|
||||
}
|
||||
var __obj2 = {
|
||||
valueOf: function() {
|
||||
return {};
|
||||
},
|
||||
toString: function() {
|
||||
return "2";
|
||||
}
|
||||
}
|
||||
|
||||
var __split = "ABB\u0041BABAB\u0042cc^^\u0042Bvv%%B\u0042xxx".split(__obj, __obj2);
|
||||
|
||||
|
@ -15,8 +15,16 @@ description: >
|
||||
have overrided valueOf function, that throw exception
|
||||
---*/
|
||||
|
||||
var __obj = {toString:function(){throw "intostr";}};
|
||||
var __obj2 = {valueOf:function(){throw "intoint";}};
|
||||
var __obj = {
|
||||
toString: function() {
|
||||
throw "intostr";
|
||||
}
|
||||
};
|
||||
var __obj2 = {
|
||||
valueOf: function() {
|
||||
throw "intoint";
|
||||
}
|
||||
};
|
||||
var __instance = new Number(10001.10001);
|
||||
Number.prototype.split = String.prototype.split;
|
||||
|
||||
|
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