aboutsummaryrefslogtreecommitdiffstats
path: root/website/resources/scripts/testcases2/15.5.4.13_String.prototype.slice.json
diff options
context:
space:
mode:
Diffstat (limited to 'website/resources/scripts/testcases2/15.5.4.13_String.prototype.slice.json')
-rw-r--r--website/resources/scripts/testcases2/15.5.4.13_String.prototype.slice.json212
1 files changed, 212 insertions, 0 deletions
diff --git a/website/resources/scripts/testcases2/15.5.4.13_String.prototype.slice.json b/website/resources/scripts/testcases2/15.5.4.13_String.prototype.slice.json
new file mode 100644
index 000000000..08fa5f700
--- /dev/null
+++ b/website/resources/scripts/testcases2/15.5.4.13_String.prototype.slice.json
@@ -0,0 +1,212 @@
+{
+ "testCollection": {
+ "name": "15.5.4.13_String.prototype.slice",
+ "numTests": 34,
+ "tests": [
+ {
+ "section": "15.5.4.13",
+ "description": "Checking if varying the String.prototype.slice.length property fails",
+ "test": "//////////////////////////////////////////////////////////////////////////////\n//CHECK#1\nif (!(String.prototype.slice.hasOwnProperty('length'))) {\n $FAIL('#1: String.prototype.slice.hasOwnProperty(\\'length\\') return true. Actual: '+String.prototype.slice.hasOwnProperty('length'));\n}\n//\n//////////////////////////////////////////////////////////////////////////////\n\nvar __obj = String.prototype.slice.length;\n\nString.prototype.slice.length = function(){return \"shifted\";};\n\n//////////////////////////////////////////////////////////////////////////////\n//CHECK#2\nif (String.prototype.slice.length !== __obj) {\n $ERROR('#2: __obj = String.prototype.slice.length; String.prototype.slice.length = function(){return \"shifted\";}; String.prototype.slice.length === __obj. Actual: '+String.prototype.slice.length );\n}\n//\n//////////////////////////////////////////////////////////////////////////////\n",
+ "id": "S15.5.4.13_A10"
+ },
+ {
+ "section": "15.5.4.13",
+ "description": "Checking String.prototype.slice.length",
+ "test": "//////////////////////////////////////////////////////////////////////////////\n//CHECK#1\nif (!(String.prototype.slice.hasOwnProperty(\"length\"))) {\n $ERROR('#1: String.prototype.slice.hasOwnProperty(\"length\") return true. Actual: '+String.prototype.slice.hasOwnProperty(\"length\"));\n}\n//\n//////////////////////////////////////////////////////////////////////////////\n\n//////////////////////////////////////////////////////////////////////////////\n//CHECK#2\nif (String.prototype.slice.length !== 2) {\n $ERROR('#2: String.prototype.slice.length === 2. Actual: '+String.prototype.slice.length );\n}\n//\n//////////////////////////////////////////////////////////////////////////////\n",
+ "id": "S15.5.4.13_A11"
+ },
+ {
+ "section": "15.5.4.13",
+ "description": "Arguments are false and true, and instance is object",
+ "test": "var __instance = new Object(true);\n\n__instance.slice = String.prototype.slice;\n\n//////////////////////////////////////////////////////////////////////////////\n//CHECK#1\nif (__instance.slice(false, true) !== \"t\") {\n $ERROR('#1: __instance = new Object(true); __instance.slice = String.prototype.slice; __instance.slice(false, true) === \"t\". Actual: '+__instance.slice(false, true) );\n}\n//\n//////////////////////////////////////////////////////////////////////////////\n",
+ "id": "S15.5.4.13_A1_T1"
+ },
+ {
+ "section": "15.5.4.13",
+ "description": "Arguments are object and function call, and instance is String, object have overrided valueOf function",
+ "test": "var __obj = {valueOf:function(){return 2;}};\n\nvar __str = \"\\u0035ABBBABAB\";\n\n//////////////////////////////////////////////////////////////////////////////\n//CHECK#1\nwith(__str){\n if (slice(__obj, function(){return slice(0,1);}()) !== \"BBB\") {\n $ERROR('#1: var x; var __obj = {valueOf:function(){return 2;}}; var __str = \"\\u0035ABBBABAB\"; slice(__obj, function(){return slice(0,1);}()) === \"BBB\". Actual: '+slice(__obj, function(){return slice(0,1);}()) );\n }\n}\n//\n//////////////////////////////////////////////////////////////////////////////\n\nvar x;\n",
+ "id": "S15.5.4.13_A1_T10"
+ },
+ {
+ "section": "15.5.4.13",
+ "description": "Arguments are objects, and instance is string, objects have overrided valueOf function, that return exception",
+ "test": "var __obj = {valueOf:function(){throw \"instart\";}};\nvar __obj2 = {valueOf:function(){throw \"inend\";}};\nvar __str = {str__:\"ABB\\u0041BABAB\"};\n\n//////////////////////////////////////////////////////////////////////////////\n//CHECK#1\nwith(__str){\n with(str__){\n try {\n var x = slice(__obj,__obj2);\n $FAIL('#1: \"var x = slice(__obj,__obj2)\" lead to throwing exception');\n } catch (e) {\n if (e!==\"instart\") {\n $ERROR('#1.1: Exception === \"instart\". Actual: '+e);\n }\n }\n }\n}\n//\n//////////////////////////////////////////////////////////////////////////////\n",
+ "id": "S15.5.4.13_A1_T11"
+ },
+ {
+ "section": "15.5.4.13",
+ "description": "Arguments are objects, and instance is string.\nFirst object have overrided valueOf function and toString function, that return exception.\nSecond object have overrided valueOf function, that return exception",
+ "test": "var __obj = {valueOf:function(){return {};}, toString:function(){throw \"instart\";}};\nvar __obj2 = {valueOf:function(){throw \"inend\";}};\nvar __str = new String(\"ABB\\u0041BABAB\");\n\n//////////////////////////////////////////////////////////////////////////////\n//CHECK#1\nwith(__str){\n try {\n var x = slice(__obj, __obj2);\n $FAIL('#1: \"var x = slice(__obj,__obj2)\" lead to throwing exception');\n } catch (e) {\n if (e!==\"instart\") {\n $ERROR('#1.1: Exception === \"instart\". Actual: '+e);\n }\n }\n}\n//\n//////////////////////////////////////////////////////////////////////////////\n",
+ "id": "S15.5.4.13_A1_T12"
+ },
+ {
+ "section": "15.5.4.13",
+ "description": "Arguments are objects, and instance is string.\nFirst object have overrided valueOf and toString functions.\nSecond object have overrided toString function, that return exception",
+ "test": "var __obj = {valueOf:function(){return {};}, toString:function(){return 1;}};\nvar __obj2 = {toString:function(){throw \"inend\";}};\n\n//////////////////////////////////////////////////////////////////////////////\n//CHECK#1\ntry {\n var x = \"ABB\\u0041BABAB\\u0031BBAA\".slice(__obj, __obj2);\n $FAIL('#1: \"var x = slice(__obj,__obj2)\" lead to throwing exception');\n} catch (e) {\n if (e!==\"inend\") {\n $ERROR('#1.1: Exception === \"inend\". Actual: '+e);\n }\n}\n//\n//////////////////////////////////////////////////////////////////////////////\n\n",
+ "id": "S15.5.4.13_A1_T13"
+ },
+ {
+ "section": "15.5.4.13",
+ "description": "Used one argument, that is function(){}(). Instance is string",
+ "test": "//////////////////////////////////////////////////////////////////////////////\n//CHECK#1\nif (\"report\".slice(function(){}()) !== \"report\") {\n $ERROR('#1: \"report\".slice(function(){}()) === \"report\". Actual: '+\"report\".slice(function(){}()) );\n}\n//\n//////////////////////////////////////////////////////////////////////////////\n",
+ "id": "S15.5.4.13_A1_T14"
+ },
+ {
+ "section": "15.5.4.13",
+ "description": "Call slice without arguments. Instance is Number with prototype.slice = String.prototype.slice",
+ "test": "var __num = 11.001002;\n\nNumber.prototype.slice = String.prototype.slice;\n\n\n//////////////////////////////////////////////////////////////////////////////\n//CHECK#1\nif (__num.slice()!==\"11.001002\") {\n $ERROR('#1: var __num = 11.001002; Number.prototype.slice = String.prototype.slice; __num.slice()===\"11.001002\". Actual: '+__num.slice());\n}\n//\n//////////////////////////////////////////////////////////////////////////////\n",
+ "id": "S15.5.4.13_A1_T15"
+ },
+ {
+ "section": "15.5.4.13",
+ "description": "Arguments are function call and x, and instance is Boolean. x is undefined variable",
+ "test": "var __instance = new Boolean;\n\n__instance.slice = String.prototype.slice;\n\n//////////////////////////////////////////////////////////////////////////////\n//CHECK#1\nif (__instance.slice(function(){return true;}(),x) !== \"alse\") {\n $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) );\n}\n//\n//////////////////////////////////////////////////////////////////////////////\n\nvar x;\n",
+ "id": "S15.5.4.13_A1_T2"
+ },
+ {
+ "section": "15.5.4.13",
+ "description": "Checking by using eval",
+ "test": "var slice = String.prototype.slice;\n\nif (typeof toString === \"undefined\"){\n toString = Object.prototype.toString;\n}\n\nvar __class__ = toString();\nvar __toggle = 1;\n\n//////////////////////////////////////////////////////////////////////////////\n//CHECK#1\nif (slice(eval(\"\\\"1\\\"\"),{valueOf:function(){return \"0x0007\"}})!==\"object\") {\n $ERROR('#1: slice = String.prototype.slice; slice(eval(\"\\\\\"1\\\\\"\"),{valueOf:function(){return \"0x0007\"}})===\"object\". Actual: '+slice(eval(\"\\\"1\\\"\"),{valueOf:function(){return \"0x0007\"}}));\n};\n//\n//////////////////////////////////////////////////////////////////////////////\n",
+ "id": "S15.5.4.13_A1_T3"
+ },
+ {
+ "section": "15.5.4.13",
+ "description": "Arguments are null and number, and instance is function call, that returned string",
+ "test": "//since ToInteger(null) yelds 0\n//////////////////////////////////////////////////////////////////////////////\n//CHECK#1\nif (function(){return \"gnulluna\"}().slice(null, -3) !== \"gnull\") {\n $ERROR('#1: function(){return \"gnulluna\"}().slice(null, -3) === \"gnull\". Actual: '+function(){return \"gnulluna\"}().slice(null, -3) );\n}\n//\n//////////////////////////////////////////////////////////////////////////////\n",
+ "id": "S15.5.4.13_A1_T4"
+ },
+ {
+ "section": "15.5.4.13",
+ "description": "Arguments are null and call other slice(start, end), and instance is function object, that have overrided valueOf and toString functions",
+ "test": "__func.valueOf=function(){return \"gnulluna\"};\n__func.toString=function(){return __func;};\n\nFunction.prototype.slice=String.prototype.slice;\n\n\n//////////////////////////////////////////////////////////////////////////////\n//CHECK#1\nif (__func.slice(null, Function().slice(__func,5).length) !== \"gnull\") {\n $ERROR('#1: __func.slice(null, Function().slice(__func,5).length) === \"gnull\". Actual: '+__func.slice(null, Function().slice(__func,5).length) );\n}\n//\n//////////////////////////////////////////////////////////////////////////////\n\nfunction __func(){};\n",
+ "id": "S15.5.4.13_A1_T5"
+ },
+ {
+ "section": "15.5.4.13",
+ "description": "Arguments are x and number, and instance is new String, x is undefined variable",
+ "test": "//since ToInteger(undefined yelds 0)\n//////////////////////////////////////////////////////////////////////////////\n//CHECK#1\nif (new String(\"undefined\").slice(x,3) !== \"und\") {\n $ERROR('#1: var x; new String(\"undefined\").slice(x,3) === \"und\". Actual: '+new String(\"undefined\").slice(x,3) );\n}\n//\n//////////////////////////////////////////////////////////////////////////////\n\nvar x;\n",
+ "id": "S15.5.4.13_A1_T6"
+ },
+ {
+ "section": "15.5.4.13",
+ "description": "Arguments are symbol and undefined, and instance is String",
+ "test": "//since ToInteger(\"e\") yelds 0\n//////////////////////////////////////////////////////////////////////////////\n//CHECK#1\nif (String(void 0).slice(\"e\",undefined) !== \"undefined\") {\n $ERROR('#1: String(void 0).slice(\"e\",undefined) === \"undefined\". Actual: '+String(void 0).slice(\"e\",undefined) );\n}\n//\n//////////////////////////////////////////////////////////////////////////////\n",
+ "id": "S15.5.4.13_A1_T7"
+ },
+ {
+ "section": "15.5.4.13",
+ "description": "Arguments are negative number and void 0, and instance is String(object), object have overrided toString function",
+ "test": "__obj = {toString:function(){}};\n\n//since void 0 yelds 0\n//////////////////////////////////////////////////////////////////////////////\n//CHECK#1\nif (String(__obj).slice(-4,void 0) !== \"ined\") {\n $ERROR('#1: __obj = {toString:function(){}}; String(__obj).slice(-4,void 0) === \"ined\". Actual: '+String(__obj).slice(-4,void 0) );\n}\n//\n//////////////////////////////////////////////////////////////////////////////\n",
+ "id": "S15.5.4.13_A1_T8"
+ },
+ {
+ "section": "15.5.4.13",
+ "description": "Arguments are undefined and object, and instance is String(object), object have overrided valueOf and toString functions",
+ "test": "var __obj = {\n valueOf:function(){},\n toString:void 0\n};\n\n//since ToInteger(undefined) yelds 0\n//////////////////////////////////////////////////////////////////////////////\n//CHECK#1\nif (new String(__obj).slice(/*(function(){})()*/undefined,__obj) !== \"\") {\n $ERROR('#1: __obj = {valueOf:function(){}, toString:void 0}; new String(__obj).slice(//*(function(){})()*//undefined,__obj) === \"\". Actual: '+new String(__obj).slice(/*(function(){})()*/undefined,__obj) );\n}\n//\n//////////////////////////////////////////////////////////////////////////////\n",
+ "id": "S15.5.4.13_A1_T9"
+ },
+ {
+ "section": "15.5.4.13",
+ "description": "Checking type of slice()",
+ "test": "var __string = new String(\"this is a string object\");\n\n//////////////////////////////////////////////////////////////////////////////\n//CHECK#1\nif (typeof __string.slice() !== \"string\") {\n $ERROR('#1: __string = new String(\"this is a string object\"); typeof __string.slice() === \"string\". Actual: '+typeof __string.slice() );\n}\n//\n//////////////////////////////////////////////////////////////////////////////\n",
+ "id": "S15.5.4.13_A2_T1"
+ },
+ {
+ "section": "15.5.4.13",
+ "description": "start is NaN, end is Infinity",
+ "test": "var __string = new String('this is a string object');\n\n//////////////////////////////////////////////////////////////////////////////\n//CHECK#1\nif (__string.slice(NaN, Infinity) !== \"this is a string object\") {\n $ERROR('#1: __string = new String(\\'this is a string object\\'); __string.slice(NaN, Infinity) === \"this is a string object\". Actual: '+__string.slice(NaN, Infinity) );\n}\n//\n//////////////////////////////////////////////////////////////////////////////\n",
+ "id": "S15.5.4.13_A2_T2"
+ },
+ {
+ "section": "15.5.4.13",
+ "description": "Call slice from empty String object",
+ "test": "var __string = new String(\"\");\n\n//////////////////////////////////////////////////////////////////////////////\n//CHECK#1\nif (__string.slice(1,0) !== \"\") {\n $ERROR('#1: __string = new String(\"\"); __string.slice(1,0) === \"\". Actual: '+__string.slice(1,0) );\n}\n//\n//////////////////////////////////////////////////////////////////////////////\n",
+ "id": "S15.5.4.13_A2_T3"
+ },
+ {
+ "section": "15.5.4.13",
+ "description": "start is Infinity, end is NaN",
+ "test": "var __string = new String(\"this is a string object\");\n\n//////////////////////////////////////////////////////////////////////////////\n//CHECK#1\nif (__string.slice(Infinity, NaN) !== \"\") {\n $ERROR('#1: __string = new String(\"this is a string object\"); __string.slice(Infinity, NaN) === \"\". Actual: '+__string.slice(Infinity, NaN) );\n}\n//\n//////////////////////////////////////////////////////////////////////////////\n",
+ "id": "S15.5.4.13_A2_T4"
+ },
+ {
+ "section": "15.5.4.13",
+ "description": "start is Infinity, end is Infinity",
+ "test": "var __string = new String(\"this is a string object\");\n\n//////////////////////////////////////////////////////////////////////////////\n//CHECK#1\nif (__string.slice(Infinity, Infinity) !== \"\") {\n $ERROR('#1: __string = new String(\"this is a string object\"); __string.slice(Infinity, Infinity) === \"\". Actual: '+__string.slice(Infinity, Infinity) );\n}\n//\n//////////////////////////////////////////////////////////////////////////////\n",
+ "id": "S15.5.4.13_A2_T5"
+ },
+ {
+ "section": "15.5.4.13",
+ "description": "start is negative float number, end is 0",
+ "test": "var __string = new String(\"this is a string object\");\n\n//////////////////////////////////////////////////////////////////////////////\n//CHECK#1\nif (__string.slice(-0.01,0) !== \"\") {\n $ERROR('#1: __string = new String(\"this is a string object\"); __string.slice(-0.01,0) === \"\". Actual: '+__string.slice(-0.01,0) );\n}\n//\n//////////////////////////////////////////////////////////////////////////////\n",
+ "id": "S15.5.4.13_A2_T6"
+ },
+ {
+ "section": "15.5.4.13",
+ "description": "start is tested_string.length, end is tested_string.length",
+ "test": "var __string = new String(\"this is a string object\");\n\n//////////////////////////////////////////////////////////////////////////////\n//CHECK#1\nif (__string.slice(__string.length, __string.length) !== \"\") {\n $ERROR('#1: __string = new String(\"this is a string object\"); __string.slice(__string.length, __string.length) === \"\". Actual: '+__string.slice(__string.length, __string.length) );\n}\n//\n//////////////////////////////////////////////////////////////////////////////\n",
+ "id": "S15.5.4.13_A2_T7"
+ },
+ {
+ "section": "15.5.4.13",
+ "description": "start is tested_string.length+1, end is 0",
+ "test": "var __string = new String(\"this is a string object\");\n\n//////////////////////////////////////////////////////////////////////////////\n//CHECK#1\nif (__string.slice(__string.length+1, 0) !== \"\") {\n $ERROR('#1: __string = new String(\"this is a string object\"); __string.slice(__string.length+1, 0) === \"\". Actual: '+__string.slice(__string.length+1, 0) );\n}\n//\n//////////////////////////////////////////////////////////////////////////////\n",
+ "id": "S15.5.4.13_A2_T8"
+ },
+ {
+ "section": "15.5.4.13",
+ "description": "start is -Infinity, end is -Infinity",
+ "test": "var __string = new String(\"this is a string object\");\n\n//////////////////////////////////////////////////////////////////////////////\n//CHECK#1\nif (__string.slice(-Infinity, -Infinity) !== \"\") {\n $ERROR('#1: __string = new String(\"this is a string object\"); __string.slice(-Infinity, -Infinity) === \"\". Actual: '+__string.slice(-Infinity, -Infinity) );\n}\n//\n//////////////////////////////////////////////////////////////////////////////\n",
+ "id": "S15.5.4.13_A2_T9"
+ },
+ {
+ "section": "15.5.4.13",
+ "description": "Apply String.prototype.slice to Object instance",
+ "test": "var __instance = new Object();\n\n__instance.slice = String.prototype.slice;\n\n//////////////////////////////////////////////////////////////////////////////\n//CHECK#1\nif (__instance.slice(0,8) !== \"[object \") {\n $ERROR('#1: __instance = new Object(); __instance.slice = String.prototype.slice; __instance.slice(0,8) === \"[object \". Actual: '+__instance.slice(0,8) );\n}\n//\n//////////////////////////////////////////////////////////////////////////////\n",
+ "id": "S15.5.4.13_A3_T1"
+ },
+ {
+ "section": "15.5.4.13",
+ "description": "Apply String.prototype.slice to Object instance, use other value for start and end values",
+ "test": "var __instance = new Object();\n\n__instance.slice = String.prototype.slice;\n\n//////////////////////////////////////////////////////////////////////////////\n//CHECK#1\nif (__instance.slice(8,__instance.toString().length) !== \"Object]\") {\n $ERROR('#1: __instance = new Object(); __instance.slice = String.prototype.slice; __instance.slice(8,__instance.toString().length) === \"Object]\". Actual: '+__instance.slice(8,__instance.toString().length) );\n}\n//\n//////////////////////////////////////////////////////////////////////////////\n",
+ "id": "S15.5.4.13_A3_T2"
+ },
+ {
+ "section": "15.5.4.13",
+ "description": "Apply String.prototype.slice to Object instance, and call instance.slice(...).slice(...)",
+ "test": "var __instance = function(){};\n\n__instance.slice = String.prototype.slice;\n\n//////////////////////////////////////////////////////////////////////////////\n//CHECK#1\nif (__instance.slice(-Infinity,8).slice(1,Infinity) !== \"unction\") {\n $ERROR('#1: __instance = function(){}; __instance.slice = String.prototype.slice; __instance.slice(-Infinity,8).slice(1,Infinity) === \"unction\". Actual: '+__instance.slice(-Infinity,8).slice(1,Infinity) );\n}\n//\n//////////////////////////////////////////////////////////////////////////////\n",
+ "id": "S15.5.4.13_A3_T3"
+ },
+ {
+ "section": "15.5.4.13",
+ "description": "Checknig if applying String.prototype.slice to Function object instance passes",
+ "test": "__FACTORY.prototype.toString = function() { return this.value+''; };\n\nvar __instance = new __FACTORY(void 0);\n\n//////////////////////////////////////////////////////////////////////////////\n//CHECK#1\nif (__instance.slice(0,100) !== \"undefined\") {\n $ERROR('#1: __instance.slice(0,100) === \"undefined\". Actual: '+__instance.slice(0,100) );\n}\n//\n//////////////////////////////////////////////////////////////////////////////\n\nfunction __FACTORY( value ) {\n this.value = value,\n this.slice= String.prototype.slice;\n //this.substring = String.prototype.substring;\n}\n",
+ "id": "S15.5.4.13_A3_T4"
+ },
+ {
+ "section": "15.5.4.13, 13.2",
+ "description": "Checking String.prototype.slice.prototype",
+ "test": "//////////////////////////////////////////////////////////////////////////////\n//CHECK#1\nif (String.prototype.slice.prototype !== undefined) {\n $ERROR('#1: String.prototype.slice.prototype === undefined. Actual: '+String.prototype.slice.prototype );\n}\n//\n//////////////////////////////////////////////////////////////////////////////\n",
+ "id": "S15.5.4.13_A6"
+ },
+ {
+ "section": "15.5.4.13, 13.2",
+ "description": "Checking if creating the String.prototype.slice object fails",
+ "test": "var __FACTORY = String.prototype.slice;\n\ntry {\n var __instance = new __FACTORY;\n $FAIL('#1: __FACTORY = String.prototype.slice; \"__instance = new __FACTORY\" lead to throwing exception');\n} catch (e) {\n $PRINT(e);\n}\n",
+ "id": "S15.5.4.13_A7"
+ },
+ {
+ "section": "15.5.4.13",
+ "description": "Checking if enumerating the String.prototype.slice.length property fails",
+ "test": "//////////////////////////////////////////////////////////////////////////////\n//CHECK#0\nif (!(String.prototype.slice.hasOwnProperty('length'))) {\n $FAIL('#0: String.prototype.slice.hasOwnProperty(\\'length\\') return true. Actual: '+String.prototype.slice.hasOwnProperty('length'));\n}\n//\n//////////////////////////////////////////////////////////////////////////////\n\n\n//////////////////////////////////////////////////////////////////////////////\n// CHECK#1\nif (String.prototype.slice.propertyIsEnumerable('length')) {\n $ERROR('#1: String.prototype.slice.propertyIsEnumerable(\\'length\\') return false');\n}\n//\n//////////////////////////////////////////////////////////////////////////////\n\n//////////////////////////////////////////////////////////////////////////////\n// CHECK#2\nvar count=0;\n\nfor (p in String.prototype.slice){\n if (p===\"length\") count++;\n}\n\nif (count !== 0) {\n $ERROR('#2: count=0; for (p in String.prototype.slice){if (p===\"length\") count++;}; count === 0. Actual: '+count );\n}\n//\n//////////////////////////////////////////////////////////////////////////////\n",
+ "id": "S15.5.4.13_A8"
+ },
+ {
+ "section": "15.5.4.13",
+ "description": "Checking if deleting the String.prototype.slice.length property fails",
+ "test": "//////////////////////////////////////////////////////////////////////////////\n//CHECK#0\nif (!(String.prototype.slice.hasOwnProperty('length'))) {\n $FAIL('#0: String.prototype.slice.hasOwnProperty(\\'length\\') return true. Actual: '+String.prototype.slice.hasOwnProperty('length'));\n}\n//\n//////////////////////////////////////////////////////////////////////////////\n\n//////////////////////////////////////////////////////////////////////////////\n//CHECK#1\nif (delete String.prototype.slice.length) {\n $ERROR('#1: delete String.prototype.slice.length return false');\n}\n//\n//////////////////////////////////////////////////////////////////////////////\n\n//////////////////////////////////////////////////////////////////////////////\n//CHECK#2\nif (!(String.prototype.slice.hasOwnProperty('length'))) {\n $FAIL('#2: delete String.prototype.slice.length; String.prototype.slice.hasOwnProperty(\\'length\\') return true. Actual: '+String.prototype.slice.hasOwnProperty('length'));\n}\n//\n//////////////////////////////////////////////////////////////////////////////\n",
+ "id": "S15.5.4.13_A9"
+ }
+ ]
+ }
+}