summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/intl402/String/prototype/localeCompare/this-value-coerced-to-string.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/test262/intl402/String/prototype/localeCompare/this-value-coerced-to-string.js')
-rw-r--r--js/src/tests/test262/intl402/String/prototype/localeCompare/this-value-coerced-to-string.js22
1 files changed, 22 insertions, 0 deletions
diff --git a/js/src/tests/test262/intl402/String/prototype/localeCompare/this-value-coerced-to-string.js b/js/src/tests/test262/intl402/String/prototype/localeCompare/this-value-coerced-to-string.js
new file mode 100644
index 0000000000..b8c999059e
--- /dev/null
+++ b/js/src/tests/test262/intl402/String/prototype/localeCompare/this-value-coerced-to-string.js
@@ -0,0 +1,22 @@
+// Copyright 2012 Mozilla Corporation. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es5id: 13.1.1_2
+description: Tests that localeCompare coerces this to a string.
+author: Norbert Lindenberg
+---*/
+
+var thisValues = [true, 5, "hello", {toString: function () { return "good bye"; }}];
+var thatValues = ["true", "5", "hello", "good bye"];
+
+var i;
+for (i = 0; i < thisValues.length; i++) {
+ var j;
+ for (j = 0; j < thatValues.length; j++) {
+ var result = String.prototype.localeCompare.call(thisValues[i], thatValues[j]);
+ assert.sameValue((result === 0), (i === j), "localeCompare treats " + thisValues[i] + " and " + thatValues[j] + " as " + (result === 0 ? "equal" : "different") + ".");
+ }
+}
+
+reportCompare(0, 0);