summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/ch11/11.1/11.1.4
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/test262/ch11/11.1/11.1.4')
-rw-r--r--js/src/tests/test262/ch11/11.1/11.1.4/11.1.4-0.js18
-rw-r--r--js/src/tests/test262/ch11/11.1/11.1.4/11.1.4_4-5-1.js32
-rw-r--r--js/src/tests/test262/ch11/11.1/11.1.4/11.1.4_5-6-1.js32
-rw-r--r--js/src/tests/test262/ch11/11.1/11.1.4/S11.1.4_A1.1.js32
-rw-r--r--js/src/tests/test262/ch11/11.1/11.1.4/S11.1.4_A1.2.js32
-rw-r--r--js/src/tests/test262/ch11/11.1/11.1.4/S11.1.4_A1.3.js57
-rw-r--r--js/src/tests/test262/ch11/11.1/11.1.4/S11.1.4_A1.4.js57
-rw-r--r--js/src/tests/test262/ch11/11.1/11.1.4/S11.1.4_A1.5.js57
-rw-r--r--js/src/tests/test262/ch11/11.1/11.1.4/S11.1.4_A1.6.js57
-rw-r--r--js/src/tests/test262/ch11/11.1/11.1.4/S11.1.4_A1.7.js57
-rw-r--r--js/src/tests/test262/ch11/11.1/11.1.4/S11.1.4_A2.js128
-rw-r--r--js/src/tests/test262/ch11/11.1/11.1.4/browser.js0
-rw-r--r--js/src/tests/test262/ch11/11.1/11.1.4/shell.js0
13 files changed, 559 insertions, 0 deletions
diff --git a/js/src/tests/test262/ch11/11.1/11.1.4/11.1.4-0.js b/js/src/tests/test262/ch11/11.1/11.1.4/11.1.4-0.js
new file mode 100644
index 000000000..60d4b1d8c
--- /dev/null
+++ b/js/src/tests/test262/ch11/11.1/11.1.4/11.1.4-0.js
@@ -0,0 +1,18 @@
+/// Copyright (c) 2012 Ecma International. All rights reserved.
+/// Ecma International makes this code available under the terms and conditions set
+/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+/// "Use Terms"). Any redistribution of this code must retain the above
+/// copyright and this notice and otherwise comply with the Use Terms.
+/**
+ * @path ch11/11.1/11.1.4/11.1.4-0.js
+ * @description elements elided at the end of an array do not contribute to its length
+ */
+
+
+function testcase() {
+ var a = [,];
+ if (a.length === 1) {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch11/11.1/11.1.4/11.1.4_4-5-1.js b/js/src/tests/test262/ch11/11.1/11.1.4/11.1.4_4-5-1.js
new file mode 100644
index 000000000..15de1077b
--- /dev/null
+++ b/js/src/tests/test262/ch11/11.1/11.1.4/11.1.4_4-5-1.js
@@ -0,0 +1,32 @@
+/// Copyright (c) 2012 Ecma International. All rights reserved.
+/// Ecma International makes this code available under the terms and conditions set
+/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+/// "Use Terms"). Any redistribution of this code must retain the above
+/// copyright and this notice and otherwise comply with the Use Terms.
+/**
+ * Refer 11.1.4;
+ * The production
+ * ElementList : Elisionopt AssignmentExpression
+ * 5.Call the [[DefineOwnProperty]] internal method of array with arguments ToString(firstIndex), the Property Descriptor { [[Value]]: initValue, [[Writable]]: true
+ * , [[Enumerable]]: true, [[Configurable]]: true}, and false.
+ *
+ * @path ch11/11.1/11.1.4/11.1.4_4-5-1.js
+ * @description Initialize array using ElementList (Elisionopt AssignmentExpression) when index property (read-only) exists in Array.prototype (step 5)
+ */
+
+
+function testcase() {
+ try {
+ Object.defineProperty(Array.prototype, "0", {
+ value: 100,
+ writable: false,
+ configurable: true
+ });
+ var arr = [101];
+
+ return arr.hasOwnProperty("0") && arr[0] === 101;
+ } finally {
+ delete Array.prototype[0];
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch11/11.1/11.1.4/11.1.4_5-6-1.js b/js/src/tests/test262/ch11/11.1/11.1.4/11.1.4_5-6-1.js
new file mode 100644
index 000000000..14e02a1b7
--- /dev/null
+++ b/js/src/tests/test262/ch11/11.1/11.1.4/11.1.4_5-6-1.js
@@ -0,0 +1,32 @@
+/// Copyright (c) 2012 Ecma International. All rights reserved.
+/// Ecma International makes this code available under the terms and conditions set
+/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+/// "Use Terms"). Any redistribution of this code must retain the above
+/// copyright and this notice and otherwise comply with the Use Terms.
+/**
+ * Refer 11.1.4;
+ * The production
+ * ElementList : ElementList , Elisionopt AssignmentExpression
+ * 6.Call the [[DefineOwnProperty]] internal method of array with arguments ToString(ToUint32((pad+len)) and the Property Descriptor { [[Value]]: initValue
+ * , [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: true}, and false.
+ *
+ * @path ch11/11.1/11.1.4/11.1.4_5-6-1.js
+ * @description Initialize array using ElementList (ElementList , Elisionopt AssignmentExpression) when index property (read-only) exists in Array.prototype (step 6)
+ */
+
+
+function testcase() {
+ try {
+ Object.defineProperty(Array.prototype, "1", {
+ value: 100,
+ writable: false,
+ configurable: true
+ });
+ var arr = [101, 12];
+
+ return arr.hasOwnProperty("1") && arr[1] === 12;
+ } finally {
+ delete Array.prototype[1];
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch11/11.1/11.1.4/S11.1.4_A1.1.js b/js/src/tests/test262/ch11/11.1/11.1.4/S11.1.4_A1.1.js
new file mode 100644
index 000000000..6e202534b
--- /dev/null
+++ b/js/src/tests/test262/ch11/11.1/11.1.4/S11.1.4_A1.1.js
@@ -0,0 +1,32 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * Evaluate the production ArrayLiteral: [ ]
+ *
+ * @path ch11/11.1/11.1.4/S11.1.4_A1.1.js
+ * @description Checking various properties of the array defined with expression "var array = []"
+ */
+
+var array = [];
+
+//CHECK#1
+if (typeof array !== "object") {
+ $ERROR('#1: var array = []; typeof array === "object". Actual: ' + (typeof array));
+}
+
+//CHECK#2
+if (array instanceof Array !== true) {
+ $ERROR('#2: var array = []; array instanceof Array === true');
+}
+
+//CHECK#3
+if (array.toString !== Array.prototype.toString) {
+ $ERROR('#3: var array = []; array.toString === Array.prototype.toString. Actual: ' + (array.toString));
+}
+
+//CHECK#4
+if (array.length !== 0) {
+ $ERROR('#4: var array = []; array.length === 0. Actual: ' + (array.length));
+}
+
diff --git a/js/src/tests/test262/ch11/11.1/11.1.4/S11.1.4_A1.2.js b/js/src/tests/test262/ch11/11.1/11.1.4/S11.1.4_A1.2.js
new file mode 100644
index 000000000..e1b0ff3ee
--- /dev/null
+++ b/js/src/tests/test262/ch11/11.1/11.1.4/S11.1.4_A1.2.js
@@ -0,0 +1,32 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * Evaluate the production ArrayLiteral: [ Elision ]
+ *
+ * @path ch11/11.1/11.1.4/S11.1.4_A1.2.js
+ * @description Checking various properties the array defined with "var array = [,,,,,]"
+ */
+
+var array = [,,,,,];
+
+//CHECK#1
+if (typeof array !== "object") {
+ $ERROR('#1: var array = [,,,,,]; typeof array === "object". Actual: ' + (typeof array));
+}
+
+//CHECK#2
+if (array instanceof Array !== true) {
+ $ERROR('#2: var array = [,,,,,]; array instanceof Array === true');
+}
+
+//CHECK#3
+if (array.toString !== Array.prototype.toString) {
+ $ERROR('#3: var array = [,,,,,]; array.toString === Array.prototype.toString. Actual: ' + (array.toString));
+}
+
+//CHECK#4
+if (array.length !== 5) {
+ $ERROR('#4: var array = [,,,,,]; array.length === 5. Actual: ' + (array.length));
+}
+
diff --git a/js/src/tests/test262/ch11/11.1/11.1.4/S11.1.4_A1.3.js b/js/src/tests/test262/ch11/11.1/11.1.4/S11.1.4_A1.3.js
new file mode 100644
index 000000000..6682a8eef
--- /dev/null
+++ b/js/src/tests/test262/ch11/11.1/11.1.4/S11.1.4_A1.3.js
@@ -0,0 +1,57 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * Evaluate the production ArrayLiteral: [ AssignmentExpression ]
+ *
+ * @path ch11/11.1/11.1.4/S11.1.4_A1.3.js
+ * @description Checking various properteis and contents of the array defined with "var array = [1,2,3,4,5]"
+ */
+
+var array = [1,2,3,4,5];
+
+//CHECK#1
+if (typeof array !== "object") {
+ $ERROR('#1: var array = [1,2,3,4,5]; typeof array === "object". Actual: ' + (typeof array));
+}
+
+//CHECK#2
+if (array instanceof Array !== true) {
+ $ERROR('#2: var array = [1,2,3,4,5]; array instanceof Array === true');
+}
+
+//CHECK#3
+if (array.toString !== Array.prototype.toString) {
+ $ERROR('#3: var array = [1,2,3,4,5]; array.toString === Array.prototype.toString. Actual: ' + (array.toString));
+}
+
+//CHECK#4
+if (array.length !== 5) {
+ $ERROR('#4: var array = [1,2,3,4,5]; array.length === 5. Actual: ' + (array.length));
+}
+
+//CHECK#5
+if (array[0] !== 1) {
+ $ERROR('#5: var array = [1,2,3,4,5]; array[0] === 1. Actual: ' + (array[0]));
+}
+
+//CHECK#6
+if (array[1] !== 2) {
+ $ERROR('#6: var array = [1,2,3,4,5]; array[1] === 2. Actual: ' + (array[1]));
+}
+
+//CHECK#7
+if (array[2] !== 3) {
+ $ERROR('#7: var array = [1,2,3,4,5]; array[2] === 3. Actual: ' + (array[2]));
+}
+
+//CHECK#8
+if (array[3] !== 4) {
+ $ERROR('#8: var array = [1,2,3,4,5]; array[3] === 4. Actual: ' + (array[3]));
+}
+
+//CHECK#9
+if (array[4] !== 5) {
+ $ERROR('#9: var array = [1,2,3,4,5]; array[4] === 5. Actual: ' + (array[4]));
+}
+
diff --git a/js/src/tests/test262/ch11/11.1/11.1.4/S11.1.4_A1.4.js b/js/src/tests/test262/ch11/11.1/11.1.4/S11.1.4_A1.4.js
new file mode 100644
index 000000000..28e67233e
--- /dev/null
+++ b/js/src/tests/test262/ch11/11.1/11.1.4/S11.1.4_A1.4.js
@@ -0,0 +1,57 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * Evaluate the production ArrayLiteral: [ Elision, AssignmentExpression ]
+ *
+ * @path ch11/11.1/11.1.4/S11.1.4_A1.4.js
+ * @description Checking various properteis and content of the array defined with "var array = [,,,1,2]"
+ */
+
+var array = [,,,1,2];
+
+//CHECK#1
+if (typeof array !== "object") {
+ $ERROR('#1: var array = [,,,1,2]; typeof array === "object". Actual: ' + (typeof array));
+}
+
+//CHECK#2
+if (array instanceof Array !== true) {
+ $ERROR('#2: var array = [,,,1,2]; array instanceof Array === true');
+}
+
+//CHECK#3
+if (array.toString !== Array.prototype.toString) {
+ $ERROR('#3: var array = [,,,1,2]; array.toString === Array.prototype.toString. Actual: ' + (array.toString));
+}
+
+//CHECK#4
+if (array.length !== 5) {
+ $ERROR('#4: var array = [,,,1,2]; array.length === 5. Actual: ' + (array.length));
+}
+
+//CHECK#5
+if (array[0] !== undefined) {
+ $ERROR('#5: var array = [,,,1,2]; array[0] === undefined. Actual: ' + (array[0]));
+}
+
+//CHECK#6
+if (array[1] !== undefined) {
+ $ERROR('#6: var array = [,,,1,2]; array[1] === undefined. Actual: ' + (array[1]));
+}
+
+//CHECK#7
+if (array[2] !== undefined) {
+ $ERROR('#7: var array = [,,,1,2]; array[2] === undefined. Actual: ' + (array[2]));
+}
+
+//CHECK#8
+if (array[3] !== 1) {
+ $ERROR('#8: var array = [,,,1,2]; array[3] === 1. Actual: ' + (array[3]));
+}
+
+//CHECK#9
+if (array[4] !== 2) {
+ $ERROR('#9: var array = [,,,1,2]; array[4] === 2. Actual: ' + (array[4]));
+}
+
diff --git a/js/src/tests/test262/ch11/11.1/11.1.4/S11.1.4_A1.5.js b/js/src/tests/test262/ch11/11.1/11.1.4/S11.1.4_A1.5.js
new file mode 100644
index 000000000..d08183f2e
--- /dev/null
+++ b/js/src/tests/test262/ch11/11.1/11.1.4/S11.1.4_A1.5.js
@@ -0,0 +1,57 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * Evaluate the production ArrayLiteral: [ AssignmentExpression, Elision ]
+ *
+ * @path ch11/11.1/11.1.4/S11.1.4_A1.5.js
+ * @description Checking various properteis and contents of the array defined with "var array = [4,5,,,,]"
+ */
+
+var array = [4,5,,,,];
+
+//CHECK#1
+if (typeof array !== "object") {
+ $ERROR('#1: var array = [4,5,,,,]; typeof array === "object". Actual: ' + (typeof array));
+}
+
+//CHECK#2
+if (array instanceof Array !== true) {
+ $ERROR('#2: var array = [4,5,,,,]; array instanceof Array === true');
+}
+
+//CHECK#3
+if (array.toString !== Array.prototype.toString) {
+ $ERROR('#3: var array = [4,5,,,,]; array.toString === Array.prototype.toString. Actual: ' + (array.toString));
+}
+
+//CHECK#4
+if (array.length !== 5) {
+ $ERROR('#4: var array = [4,5,,,,]; array.length === 5. Actual: ' + (array.length));
+}
+
+//CHECK#5
+if (array[0] !== 4) {
+ $ERROR('#5: var array = [4,5,,,,]; array[0] === 4. Actual: ' + (array[0]));
+}
+
+//CHECK#6
+if (array[1] !== 5) {
+ $ERROR('#6: var array = [4,5,,,,]; array[1] === 5. Actual: ' + (array[1]));
+}
+
+//CHECK#7
+if (array[2] !== undefined) {
+ $ERROR('#7: var array = [4,5,,,,]; array[2] === undefined. Actual: ' + (array[2]));
+}
+
+//CHECK#8
+if (array[3] !== undefined) {
+ $ERROR('#8: var array = [4,5,,,,]; array[3] === undefined. Actual: ' + (array[3]));
+}
+
+//CHECK#9
+if (array[4] !== undefined) {
+ $ERROR('#9: var array = [4,5,,,,]; array[4] === undefined. Actual: ' + (array[4]));
+}
+
diff --git a/js/src/tests/test262/ch11/11.1/11.1.4/S11.1.4_A1.6.js b/js/src/tests/test262/ch11/11.1/11.1.4/S11.1.4_A1.6.js
new file mode 100644
index 000000000..589eb3c0d
--- /dev/null
+++ b/js/src/tests/test262/ch11/11.1/11.1.4/S11.1.4_A1.6.js
@@ -0,0 +1,57 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * Evaluate the production ArrayLiteral: [ Elision, AssignmentExpression, Elision ]
+ *
+ * @path ch11/11.1/11.1.4/S11.1.4_A1.6.js
+ * @description Checking various properteis and contents of the array defined with "var array = [,,3,,,]"
+ */
+
+var array = [,,3,,,];
+
+//CHECK#1
+if (typeof array !== "object") {
+ $ERROR('#1: var array = [,,3,,,]; typeof array === "object". Actual: ' + (typeof array));
+}
+
+//CHECK#2
+if (array instanceof Array !== true) {
+ $ERROR('#2: var array = [,,3,,,]; array instanceof Array === true');
+}
+
+//CHECK#3
+if (array.toString !== Array.prototype.toString) {
+ $ERROR('#3: var array = [,,3,,,]; array.toString === Array.prototype.toString. Actual: ' + (array.toString));
+}
+
+//CHECK#4
+if (array.length !== 5) {
+ $ERROR('#4: var array = [,,3,,,]; array.length === 5. Actual: ' + (array.length));
+}
+
+//CHECK#5
+if (array[0] !== undefined) {
+ $ERROR('#5: var array = [,,3,,,]; array[0] === undefined. Actual: ' + (array[0]));
+}
+
+//CHECK#6
+if (array[1] !== undefined) {
+ $ERROR('#6: var array = [,,3,,,]; array[1] === undefined. Actual: ' + (array[1]));
+}
+
+//CHECK#7
+if (array[2] !== 3) {
+ $ERROR('#7: var array = [,,3,,,]; array[2] === 3. Actual: ' + (array[2]));
+}
+
+//CHECK#8
+if (array[3] !== undefined) {
+ $ERROR('#8: var array = [,,3,,,]; array[3] === undefined. Actual: ' + (array[3]));
+}
+
+//CHECK#9
+if (array[4] !== undefined) {
+ $ERROR('#9: var array = [,,3,,,]; array[4] === undefined. Actual: ' + (array[4]));
+}
+
diff --git a/js/src/tests/test262/ch11/11.1/11.1.4/S11.1.4_A1.7.js b/js/src/tests/test262/ch11/11.1/11.1.4/S11.1.4_A1.7.js
new file mode 100644
index 000000000..4689d6b00
--- /dev/null
+++ b/js/src/tests/test262/ch11/11.1/11.1.4/S11.1.4_A1.7.js
@@ -0,0 +1,57 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * Evaluate the production ArrayLiteral: [ AssignmentExpression, Elision, AssignmentExpression ]
+ *
+ * @path ch11/11.1/11.1.4/S11.1.4_A1.7.js
+ * @description Checking various properteis and contents of the array defined with "var array = [1,2,,4,5]"
+ */
+
+var array = [1,2,,4,5];
+
+//CHECK#1
+if (typeof array !== "object") {
+ $ERROR('#1: var array = [1,2,,4,5]; typeof array === "object". Actual: ' + (typeof array));
+}
+
+//CHECK#2
+if (array instanceof Array !== true) {
+ $ERROR('#2: var array = [1,2,,4,5]; array instanceof Array === true');
+}
+
+//CHECK#3
+if (array.toString !== Array.prototype.toString) {
+ $ERROR('#3: var array = [1,2,,4,5]; array.toString === Array.prototype.toString. Actual: ' + (array.toString));
+}
+
+//CHECK#4
+if (array.length !== 5) {
+ $ERROR('#4: var array = [1,2,,4,5]; array.length === 5. Actual: ' + (array.length));
+}
+
+//CHECK#5
+if (array[0] !== 1) {
+ $ERROR('#5: var array = [1,2,,4,5]; array[0] === 1. Actual: ' + (array[0]));
+}
+
+//CHECK#6
+if (array[1] !== 2) {
+ $ERROR('#6: var array = [1,2,,4,5]; array[1] === 2. Actual: ' + (array[1]));
+}
+
+//CHECK#7
+if (array[2] !== undefined) {
+ $ERROR('#7: var array = [1,2,,4,5]; array[2] === undefined. Actual: ' + (array[2]));
+}
+
+//CHECK#8
+if (array[3] !== 4) {
+ $ERROR('#8: var array = [1,2,,4,5]; array[3] === 4. Actual: ' + (array[3]));
+}
+
+//CHECK#9
+if (array[4] !== 5) {
+ $ERROR('#9: var array = [1,2,,4,5]; array[4] === 5. Actual: ' + (array[4]));
+}
+
diff --git a/js/src/tests/test262/ch11/11.1/11.1.4/S11.1.4_A2.js b/js/src/tests/test262/ch11/11.1/11.1.4/S11.1.4_A2.js
new file mode 100644
index 000000000..3e1c699fb
--- /dev/null
+++ b/js/src/tests/test262/ch11/11.1/11.1.4/S11.1.4_A2.js
@@ -0,0 +1,128 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * Create multi dimensional array
+ *
+ * @path ch11/11.1/11.1.4/S11.1.4_A2.js
+ * @description Checking various properteis and contents of the arrya defined with "var array = [[1,2], [3], []]"
+ */
+
+var array = [[1,2], [3], []];
+
+//CHECK#1
+if (typeof array !== "object") {
+ $ERROR('#1: var array = [[1,2], [3], []]; typeof array === "object". Actual: ' + (typeof array));
+}
+
+//CHECK#2
+if (array instanceof Array !== true) {
+ $ERROR('#2: var array = [[1,2], [3], []]; array instanceof Array === true');
+}
+
+//CHECK#3
+if (array.toString !== Array.prototype.toString) {
+ $ERROR('#3: var array = [[1,2], [3], []]; array.toString === Array.prototype.toString. Actual: ' + (array.toString));
+}
+
+//CHECK#4
+if (array.length !== 3) {
+ $ERROR('#4: var array = [[1,2], [3], []]; array.length === 3. Actual: ' + (array.length));
+}
+
+var subarray = array[0];
+
+//CHECK#5
+if (typeof subarray !== "object") {
+ $ERROR('#5: var array = [[1,2], [3], []]; var subarray = array[0]; typeof subarray === "object". Actual: ' + (typeof subarray));
+}
+
+//CHECK#6
+if (subarray instanceof Array !== true) {
+ $ERROR('#6: var array = [[1,2], [3], []]; var subarray = array[0]; subarray instanceof Array === true');
+}
+
+//CHECK#7
+if (subarray.toString !== Array.prototype.toString) {
+ $ERROR('#7: var array = [[1,2], [3], []]; var subarray = array[0]; subarray.toString === Array.prototype.toString. Actual: ' + (subarray.toString));
+}
+
+//CHECK#8
+if (subarray.length !== 2) {
+ $ERROR('#8: var array = [[1,2], [3], []]; var subarray = array[0]; subarray.length === 2. Actual: ' + (subarray.length));
+}
+
+//CHECK#9
+if (subarray[0] !== 1) {
+ $ERROR('#9: var array = [[1,2], [3], []]; var subarray = array[0]; subarray[0] === 1. Actual: ' + (subarray[0]));
+}
+
+//CHECK#10
+if (subarray[1] !== 2) {
+ $ERROR('#10: var array = [[1,2], [3], []]; var subarray = array[1]; subarray[1] === 2. Actual: ' + (subarray[1]));
+}
+
+var subarray = array[1];
+
+//CHECK#11
+if (typeof subarray !== "object") {
+$ERROR('#11: var array = [[1,2], [3], []]; var subarray = array[1]; typeof subarray === "object". Actual: ' + (typeof subarray));
+}
+
+//CHECK#12
+if (subarray instanceof Array !== true) {
+$ERROR('#12: var array = [[1,2], [3], []]; var subarray = array[1]; subarray instanceof Array === true');
+}
+
+//CHECK#13
+if (subarray.toString !== Array.prototype.toString) {
+$ERROR('#13: var array = [[1,2], [3], []]; var subarray = array[1]; subarray.toString === Array.prototype.toString. Actual: ' + (subarray.toString));
+}
+
+//CHECK#14
+if (subarray.length !== 1) {
+$ERROR('#14: var array = [[1,2], [3], []]; var subarray = array[1]; subarray.length === 1. Actual: ' + (subarray.length));
+}
+
+//CHECK#15
+if (subarray[0] !== 3) {
+$ERROR('#15: var array = [[1,2], [3], []]; var subarray = array[1]; subarray[0] === 3. Actual: ' + (subarray[0]));
+}
+
+var subarray = array[2];
+
+//CHECK#16
+if (typeof subarray !== "object") {
+$ERROR('#16: var array = [[1,2], [3], []]; var subarray = array[2]; typeof subarray === "object". Actual: ' + (typeof subarray));
+}
+
+//CHECK#17
+if (subarray instanceof Array !== true) {
+$ERROR('#17: var array = [[1,2], [3], []]; var subarray = array[2]; subarray instanceof Array === true');
+}
+
+//CHECK#18
+if (subarray.toString !== Array.prototype.toString) {
+$ERROR('#18: var array = [[1,2], [3], []]; var subarray = array[2]; subarray.toString === Array.prototype.toString. Actual: ' + (subarray.toString));
+}
+
+//CHECK#19
+if (subarray.length !== 0) {
+$ERROR('#19: var array = [[1,2], [3], []]; var subarray = array[2]; subarray.length === 0. Actual: ' + (subarray.length));
+}
+
+//CHECK#20
+if (array[0][0] !== 1) {
+ $ERROR('#20: var array = [[1,2], [3], []]; array[0][0] === 1. Actual: ' + (array[0][0]));
+}
+
+//CHECK#21
+if (array[0][1] !== 2) {
+ $ERROR('#21: var array = [[1,2], [3], []]; array[0][1] === 2. Actual: ' + (array[0][1]));
+}
+
+//CHECK#22
+if (array[1][0] !== 3) {
+ $ERROR('#722: var array = [[1,2], [3], []]; array[1][0] === 3. Actual: ' + (array[1][0]));
+}
+
diff --git a/js/src/tests/test262/ch11/11.1/11.1.4/browser.js b/js/src/tests/test262/ch11/11.1/11.1.4/browser.js
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/js/src/tests/test262/ch11/11.1/11.1.4/browser.js
diff --git a/js/src/tests/test262/ch11/11.1/11.1.4/shell.js b/js/src/tests/test262/ch11/11.1/11.1.4/shell.js
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/js/src/tests/test262/ch11/11.1/11.1.4/shell.js