From d71ffa59d5fa2df454bf1c1853b0ccfc87fe3bcd Mon Sep 17 00:00:00 2001 From: Norbert Lindenberg Date: Sun, 26 Aug 2012 20:50:24 -0700 Subject: Added new tests for chapters 10 to 13 of the ECMAScript Internationalization API Specification. --- test/suite/intl402/ch13/13.1/13.1.1_3.js | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 test/suite/intl402/ch13/13.1/13.1.1_3.js (limited to 'test/suite/intl402/ch13/13.1/13.1.1_3.js') diff --git a/test/suite/intl402/ch13/13.1/13.1.1_3.js b/test/suite/intl402/ch13/13.1/13.1.1_3.js new file mode 100644 index 000000000..113a2d9aa --- /dev/null +++ b/test/suite/intl402/ch13/13.1/13.1.1_3.js @@ -0,0 +1,26 @@ +// Copyright 2012 Mozilla Corporation. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @description Tests that localeCompare coerces that to a string. + * @author Norbert Lindenberg + */ + +var thisValues = ["true", "5", "hello", "good bye"]; +var thatValues = [true, 5, "hello", {toString: function () { return "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]); + if ((result === 0) !== (i === j)) { + if (result === 0) { + $ERROR("localeCompare treats " + thisValues[i] + " and " + thatValues[j] + " as equal."); + } else { + $ERROR("localeCompare treats " + thisValues[i] + " and " + thatValues[j] + " as different."); + } + } + } +} + -- cgit v1.2.3