summaryrefslogtreecommitdiff
path: root/external/contributions/Google/sputnik_conformance_modified/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.9_Array_prototype_shift/S15.4.4.9_A2_T3.js
diff options
context:
space:
mode:
Diffstat (limited to 'external/contributions/Google/sputnik_conformance_modified/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.9_Array_prototype_shift/S15.4.4.9_A2_T3.js')
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.9_Array_prototype_shift/S15.4.4.9_A2_T3.js38
1 files changed, 38 insertions, 0 deletions
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.9_Array_prototype_shift/S15.4.4.9_A2_T3.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.9_Array_prototype_shift/S15.4.4.9_A2_T3.js
new file mode 100644
index 000000000..ef4ed92b9
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.9_Array_prototype_shift/S15.4.4.9_A2_T3.js
@@ -0,0 +1,38 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S15.4.4.9_A2_T3;
+ * @section: 15.4.4.9;
+ * @assertion: The shift function is intentionally generic.
+ * It does not require that its this value be an Array object;
+ * @description: The first element of the array is removed from the array and
+ * returned;
+*/
+
+var obj = {};
+obj.shift = Array.prototype.shift;
+
+//CHECK#1
+obj.length = 2.5;
+var shift = obj.shift();
+if (shift !== undefined) {
+ $ERROR('#1: var obj = {}; obj.length = 2.5; obj.shift = Array.prototype.shift; obj.shift() === undefined. Actual: ' + (shift));
+}
+
+//CHECK#2
+if (obj.length !== 1) {
+ $ERROR('#2: var obj = {}; obj.length = 2.5; obj.shift = Array.prototype.shift; obj.shift(); obj.length === 1. Actual: ' + (obj.length));
+}
+
+//CHECK#3
+obj.length = new Number(2);
+var shift = obj.shift();
+if (shift !== undefined) {
+ $ERROR('#11: var obj = {}; obj.length = new Number(2); obj.shift = Array.prototype.shift; obj.shift() === undefined. Actual: ' + (shift));
+}
+
+//CHECK#3
+if (obj.length !== 1) {
+ $ERROR('#12: var obj = {}; obj.length = new Number(2); obj.shift = Array.prototype.shift; obj.shift(); obj.length === 1. Actual: ' + (obj.length));
+}