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.11_Array_prototype_sort/S15.4.4.11_A3_T1.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.11_Array_prototype_sort/S15.4.4.11_A3_T1.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.11_Array_prototype_sort/S15.4.4.11_A3_T1.js37
1 files changed, 37 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.11_Array_prototype_sort/S15.4.4.11_A3_T1.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.11_Array_prototype_sort/S15.4.4.11_A3_T1.js
new file mode 100644
index 000000000..d4b5c5d0c
--- /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.11_Array_prototype_sort/S15.4.4.11_A3_T1.js
@@ -0,0 +1,37 @@
+// 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.11_A3_T1;
+ * @section: 15.4.4.11;
+ * @assertion: The sort function is intentionally generic.
+ * It does not require that its this value be an Array object;
+ * @description: If comparefn is undefined, use SortCompare operator;
+*/
+
+
+var obj = {valueOf: function() {return 1}, toString: function() {return -2}};
+var alphabetR = {0:undefined, 1:2, 2:1, 3:"X", 4:-1, 5:"a", 6:true, 7:obj, 8:NaN, 9:Infinity};
+alphabetR.sort = Array.prototype.sort;
+alphabetR.length = 10;
+var alphabet = [-1, obj, 1, 2, Infinity, NaN, "X", "a", true, undefined];
+
+alphabetR.sort();
+
+ //CHECK#0
+alphabetR.getClass = Object.prototype.toString;
+if (alphabetR.getClass() !== "[object " + "Object" + "]") {
+ $ERROR('#0: alphabetR.sort() is Object object, not Array object');
+}
+
+//CHECK#1
+var result = true;
+for (var i = 0; i < 10; i++) {
+ if (!(isNaN(alphabetR[i]) && isNaN(alphabet[i]))) {
+ if (alphabetR[i] !== alphabet[i]) result = false;
+ }
+}
+
+if (result !== true) {
+ $ERROR('#1: Check ToString operator');
+}