diff options
author | Norbert Lindenberg <ecmascript@lindenbergsoftware.com> | 2013-02-07 20:55:25 -0800 |
---|---|---|
committer | Norbert Lindenberg <ecmascript@lindenbergsoftware.com> | 2013-02-07 20:55:25 -0800 |
commit | 7eb9976f297583d67f2345a03622bee46c9dda14 (patch) | |
tree | e271e29f0f58c9d3d33aaa91e49d45a009f5f8c0 | |
parent | 7279d3f98556ea2f871901bfd3d38d56b6973443 (diff) | |
download | test262-7eb9976f297583d67f2345a03622bee46c9dda14.tar.gz |
Bug 1245 - Add test for missing argument to String.prototype.localeCompare
--HG--
rename : test/suite/intl402/ch13/13.1/13.1.1_3.js => test/suite/intl402/ch13/13.1/13.1.1_3_1.js
-rw-r--r-- | test/suite/ch15/15.5/15.5.4/15.5.4.9/15.5.4.9_3.js | 22 | ||||
-rw-r--r-- | test/suite/intl402/ch13/13.1/13.1.1_3_1.js (renamed from test/suite/intl402/ch13/13.1/13.1.1_3.js) | 0 | ||||
-rw-r--r-- | test/suite/intl402/ch13/13.1/13.1.1_3_2.js | 22 | ||||
-rw-r--r-- | website/json/ch15.json | 9 | ||||
-rw-r--r-- | website/json/default.json | 2 | ||||
-rw-r--r-- | website/json/intl402.json | 11 | ||||
-rw-r--r-- | website/json/suiteDescrip.json | 2 | ||||
-rw-r--r-- | website/json/testcases_ch15.json | 2 | ||||
-rw-r--r-- | website/json/testcases_intl402.json | 2 |
9 files changed, 65 insertions, 7 deletions
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.9/15.5.4.9_3.js b/test/suite/ch15/15.5/15.5.4/15.5.4.9/15.5.4.9_3.js new file mode 100644 index 000000000..441166c9f --- /dev/null +++ b/test/suite/ch15/15.5/15.5.4/15.5.4.9/15.5.4.9_3.js @@ -0,0 +1,22 @@ +// Copyright 2013 Mozilla Corporation. All rights reserved. +// This code is governed by the license found in the LICENSE file. + +/** + * @description Tests that String.prototype.localeCompare treats a missing + * "that" argument, undefined, and "undefined" as equivalent. + * @author Norbert Lindenberg + */ + +var thisValues = ["a", "t", "u", "undefined", "UNDEFINED", "nicht definiert", "xyz", "未定义"]; + +var i; +for (i = 0; i < thisValues.length; i++) { + var thisValue = thisValues[i]; + if (thisValue.localeCompare() !== thisValue.localeCompare(undefined)) { + $ERROR("String.prototype.localeCompare does not treat missing 'that' argument as undefined."); + } + if (thisValue.localeCompare(undefined) !== thisValue.localeCompare("undefined")) { + $ERROR("String.prototype.localeCompare does not treat undefined 'that' argument as \"undefined\"."); + } +} + 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_1.js index 113a2d9aa..113a2d9aa 100644 --- a/test/suite/intl402/ch13/13.1/13.1.1_3.js +++ b/test/suite/intl402/ch13/13.1/13.1.1_3_1.js diff --git a/test/suite/intl402/ch13/13.1/13.1.1_3_2.js b/test/suite/intl402/ch13/13.1/13.1.1_3_2.js new file mode 100644 index 000000000..441166c9f --- /dev/null +++ b/test/suite/intl402/ch13/13.1/13.1.1_3_2.js @@ -0,0 +1,22 @@ +// Copyright 2013 Mozilla Corporation. All rights reserved. +// This code is governed by the license found in the LICENSE file. + +/** + * @description Tests that String.prototype.localeCompare treats a missing + * "that" argument, undefined, and "undefined" as equivalent. + * @author Norbert Lindenberg + */ + +var thisValues = ["a", "t", "u", "undefined", "UNDEFINED", "nicht definiert", "xyz", "未定义"]; + +var i; +for (i = 0; i < thisValues.length; i++) { + var thisValue = thisValues[i]; + if (thisValue.localeCompare() !== thisValue.localeCompare(undefined)) { + $ERROR("String.prototype.localeCompare does not treat missing 'that' argument as undefined."); + } + if (thisValue.localeCompare(undefined) !== thisValue.localeCompare("undefined")) { + $ERROR("String.prototype.localeCompare does not treat undefined 'that' argument as \"undefined\"."); + } +} + diff --git a/website/json/ch15.json b/website/json/ch15.json index 35468d3bf..317520f08 100644 --- a/website/json/ch15.json +++ b/website/json/ch15.json @@ -1,7 +1,7 @@ { "testsCollection":{ "name":"Chapter - ch15", -"numTests":"8074", +"numTests":"8075", "tests":[ { "code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZ2xvYmFsIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgW1tDb25zdHJ1Y3RdXSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjEvUzE1LjFfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIEl0IGlzIG5vdCBwb3NzaWJsZSB0byB1c2UgdGhlIGdsb2JhbCBvYmplY3QgYXMgYSBjb25zdHJ1Y3RvcgogKiB3aXRoIHRoZSBuZXcgb3BlcmF0b3IKICogQG5lZ2F0aXZlCiAqLwoKbmV3IHRoaXM7Cgo=", @@ -44021,6 +44021,13 @@ }, { "author":"Norbert Lindenberg", +"code":"Ly8gQ29weXJpZ2h0IDIwMTMgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZSB0cmVhdHMgYSBtaXNzaW5nCiAqICAgICAidGhhdCIgYXJndW1lbnQsIHVuZGVmaW5lZCwgYW5kICJ1bmRlZmluZWQiIGFzIGVxdWl2YWxlbnQuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKdmFyIHRoaXNWYWx1ZXMgPSBbImEiLCAidCIsICJ1IiwgInVuZGVmaW5lZCIsICJVTkRFRklORUQiLCAibmljaHQgZGVmaW5pZXJ0IiwgInh5eiIsICLmnKrlrprkuYkiXTsKCnZhciBpOwpmb3IgKGkgPSAwOyBpIDwgdGhpc1ZhbHVlcy5sZW5ndGg7IGkrKykgewogICAgdmFyIHRoaXNWYWx1ZSA9IHRoaXNWYWx1ZXNbaV07CiAgICBpZiAodGhpc1ZhbHVlLmxvY2FsZUNvbXBhcmUoKSAhPT0gdGhpc1ZhbHVlLmxvY2FsZUNvbXBhcmUodW5kZWZpbmVkKSkgewogICAgICAgICRFUlJPUigiU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlIGRvZXMgbm90IHRyZWF0IG1pc3NpbmcgJ3RoYXQnIGFyZ3VtZW50IGFzIHVuZGVmaW5lZC4iKTsKICAgIH0KICAgIGlmICh0aGlzVmFsdWUubG9jYWxlQ29tcGFyZSh1bmRlZmluZWQpICE9PSB0aGlzVmFsdWUubG9jYWxlQ29tcGFyZSgidW5kZWZpbmVkIikpIHsKICAgICAgICAkRVJST1IoIlN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZSBkb2VzIG5vdCB0cmVhdCB1bmRlZmluZWQgJ3RoYXQnIGFyZ3VtZW50IGFzIFwidW5kZWZpbmVkXCIuIik7CiAgICB9Cn0KCg==", +"commentary":"", +"description":"Tests that String.prototype.localeCompare treats a missing\n \"that\" argument, undefined, and \"undefined\" as equivalent.", +"path":"TestCases/ch15/15.5/15.5.4/15.5.4.9/15.5.4.9_3.js" +}, +{ +"author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTm9yYmVydCBMaW5kZW5iZXJnLiBBbGwgcmlnaHRzIHJlc2VydmVkLgovKioKICogQGRlc2NyaXB0aW9uIFRlc3RzIHRoYXQgU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlCiAqICAgICByZXR1cm5zIDAgd2hlbiBjb21wYXJpbmcgU3RyaW5ncyB0aGF0IGFyZSBjb25zaWRlcmVkIGNhbm9uaWNhbGx5IGVxdWl2YWxlbnQKICogICAgIGJ5IHRoZSBVbmljb2RlIHN0YW5kYXJkLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCi8vIHBhaXJzIHdpdGggY2hhcmFjdGVycyBub3QgaW4gVW5pY29kZSAzLjAgYXJlIGNvbW1lbnRlZCBvdXQKdmFyIHBhaXJzID0gWwogICAgLy8gZXhhbXBsZSBmcm9tIFVuaWNvZGUgNS4wLCBzZWN0aW9uIDMuNywgZGVmaW5pdGlvbiBENzAKICAgIFsib1x1MDMwOCIsICLDtiJdLAogICAgLy8gZXhhbXBsZXMgZnJvbSBVbmljb2RlIDUuMCwgY2hhcHRlciAzLjExCiAgICBbIsOkXHUwMzIzIiwgImFcdTAzMjNcdTAzMDgiXSwKICAgIFsiYVx1MDMwOFx1MDMyMyIsICJhXHUwMzIzXHUwMzA4Il0sCiAgICBbIuG6oVx1MDMwOCIsICJhXHUwMzIzXHUwMzA4Il0sCiAgICBbIsOkXHUwMzA2IiwgImFcdTAzMDhcdTAzMDYiXSwKICAgIFsixINcdTAzMDgiLCAiYVx1MDMwNlx1MDMwOCJdLAogICAgLy8gZXhhbXBsZSBmcm9tIFVuaWNvZGUgNS4wLCBjaGFwdGVyIDMuMTIKICAgIFsiXHUxMTExXHUxMTcxXHUxMUI2IiwgIu2TmyJdLAogICAgLy8gZXhhbXBsZXMgZnJvbSBVVFMgMTAsIFVuaWNvZGUgQ29sbGF0aW9uIEFsZ29yaXRobQogICAgWyLihKsiLCAiw4UiXSwKICAgIFsi4oSrIiwgIkFcdTAzMEEiXSwKICAgIFsieFx1MDMxQlx1MDMyMyIsICJ4XHUwMzIzXHUwMzFCIl0sCiAgICBbIuG7sSIsICLhu6VcdTAzMUIiXSwKICAgIFsi4buxIiwgInVcdTAzMUJcdTAzMjMiXSwKICAgIFsi4buxIiwgIsawXHUwMzIzIl0sCiAgICBbIuG7sSIsICJ1XHUwMzIzXHUwMzFCIl0sCiAgICAvLyBleGFtcGxlcyBmcm9tIFVBWCAxNSwgVW5pY29kZSBOb3JtYWxpemF0aW9uIEZvcm1zCiAgICBbIsOHIiwgIkNcdTAzMjciXSwKICAgIFsicVx1MDMwN1x1MDMyMyIsICJxXHUwMzIzXHUwMzA3Il0sCiAgICBbIuqwgCIsICJcdTExMDBcdTExNjEiXSwKICAgIFsi4oSrIiwgIkFcdTAzMEEiXSwKICAgIFsi4oSmIiwgIs6pIl0sCiAgICBbIsOFIiwgIkFcdTAzMEEiXSwKICAgIFsiw7QiLCAib1x1MDMwMiJdLAogICAgWyLhuakiLCAic1x1MDMyM1x1MDMwNyJdLAogICAgWyLhuItcdTAzMjMiLCAiZFx1MDMyM1x1MDMwNyJdLAogICAgWyLhuItcdTAzMjMiLCAi4biNXHUwMzA3Il0sCiAgICBbInFcdTAzMDdcdTAzMjMiLCAicVx1MDMyM1x1MDMwNyJdLAogICAgLy8gZXhhbXBsZXMgaW52b2x2aW5nIHN1cHBsZW1lbnRhcnkgY2hhcmFjdGVycyBmcm9tIFVDRCBOb3JtYWxpemF0aW9uVGVzdC50eHQKLy8gIFsiXHVEODM0XHVERDVFIiwgIlx1RDgzNFx1REQ1N1x1RDgzNFx1REQ2NSJdLAovLyAgWyJcdUQ4N0VcdURDMkIiLCAi5YyXIl0KXTsKCnZhciBpOwpmb3IgKGkgPSAwOyBpIDwgcGFpcnMubGVuZ3RoOyBpKyspIHsKICAgIHZhciBwYWlyID0gcGFpcnNbaV07CiAgICBpZiAocGFpclswXS5sb2NhbGVDb21wYXJlKHBhaXJbMV0pICE9PSAwKSB7CiAgICAgICAgJEVSUk9SKCJTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUgY29uc2lkZXJzICIgKyBwYWlyWzBdICsgIiAoIiArIHRvVShwYWlyWzBdKSArCiAgICAgICAgICAgICIpIOKJoCAiICsgcGFpclsxXSArICIgKCIgKyB0b1UocGFpclsxXSkgKyAiKS4iKTsKICAgIH0KfQoKZnVuY3Rpb24gdG9VKHMpIHsKICAgIHZhciByZXN1bHQgPSAiIjsKICAgIHZhciBlc2NhcGUgPSAiXFx1MDAwMCI7CiAgICB2YXIgaTsKICAgIGZvciAoaSA9IDA7IGkgPCBzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFyIGhleCA9IHMuY2hhckNvZGVBdChpKS50b1N0cmluZygxNik7CiAgICAgICAgcmVzdWx0ICs9IGVzY2FwZS5zdWJzdHJpbmcoMCwgZXNjYXBlLmxlbmd0aCAtIGhleC5sZW5ndGgpICsgaGV4OwogICAgfQogICAgcmV0dXJuIHJlc3VsdDsKfQoK", "commentary":"", "description":"Tests that String.prototype.localeCompare\n returns 0 when comparing Strings that are considered canonically equivalent\n by the Unicode standard.", diff --git a/website/json/default.json b/website/json/default.json index b4a5cf5eb..53537f66a 100644 --- a/website/json/default.json +++ b/website/json/default.json @@ -1,5 +1,5 @@ { -"numTests":11572, +"numTests":11573, "testSuite":[ "json/ch06.json", "json/ch07.json", diff --git a/website/json/intl402.json b/website/json/intl402.json index f34c27505..b032a4edd 100644 --- a/website/json/intl402.json +++ b/website/json/intl402.json @@ -1,7 +1,7 @@ { "testsCollection":{ "name":"Chapter - intl402", -"numTests":"141", +"numTests":"142", "tests":[ { "author":"Norbert Lindenberg", @@ -887,7 +887,14 @@ "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGxvY2FsZUNvbXBhcmUgY29lcmNlcyB0aGF0IHRvIGEgc3RyaW5nLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCnZhciB0aGlzVmFsdWVzID0gWyJ0cnVlIiwgIjUiLCAiaGVsbG8iLCAiZ29vZCBieWUiXTsKdmFyIHRoYXRWYWx1ZXMgPSBbdHJ1ZSwgNSwgImhlbGxvIiwge3RvU3RyaW5nOiBmdW5jdGlvbiAoKSB7IHJldHVybiAiZ29vZCBieWUiOyB9fV07Cgp2YXIgaTsKZm9yIChpID0gMDsgaSA8IHRoaXNWYWx1ZXMubGVuZ3RoOyBpKyspIHsKICAgIHZhciBqOwogICAgZm9yIChqID0gMDsgaiA8IHRoYXRWYWx1ZXMubGVuZ3RoOyBqKyspIHsKICAgICAgICB2YXIgcmVzdWx0ID0gU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmNhbGwodGhpc1ZhbHVlc1tpXSwgdGhhdFZhbHVlc1tqXSk7CiAgICAgICAgaWYgKChyZXN1bHQgPT09IDApICE9PSAoaSA9PT0gaikpIHsKICAgICAgICAgICAgaWYgKHJlc3VsdCA9PT0gMCkgewogICAgICAgICAgICAgICAgJEVSUk9SKCJsb2NhbGVDb21wYXJlIHRyZWF0cyAiICsgdGhpc1ZhbHVlc1tpXSArICIgYW5kICIgKyB0aGF0VmFsdWVzW2pdICsgIiBhcyBlcXVhbC4iKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICRFUlJPUigibG9jYWxlQ29tcGFyZSB0cmVhdHMgIiArIHRoaXNWYWx1ZXNbaV0gKyAiIGFuZCAiICsgdGhhdFZhbHVlc1tqXSArICIgYXMgZGlmZmVyZW50LiIpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9Cgo=", "commentary":"", "description":"Tests that localeCompare coerces that to a string.", -"path":"TestCases/intl402/ch13/13.1/13.1.1_3.js" +"path":"TestCases/intl402/ch13/13.1/13.1.1_3_1.js" +}, +{ +"author":"Norbert Lindenberg", +"code":"Ly8gQ29weXJpZ2h0IDIwMTMgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZSB0cmVhdHMgYSBtaXNzaW5nCiAqICAgICAidGhhdCIgYXJndW1lbnQsIHVuZGVmaW5lZCwgYW5kICJ1bmRlZmluZWQiIGFzIGVxdWl2YWxlbnQuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKdmFyIHRoaXNWYWx1ZXMgPSBbImEiLCAidCIsICJ1IiwgInVuZGVmaW5lZCIsICJVTkRFRklORUQiLCAibmljaHQgZGVmaW5pZXJ0IiwgInh5eiIsICLmnKrlrprkuYkiXTsKCnZhciBpOwpmb3IgKGkgPSAwOyBpIDwgdGhpc1ZhbHVlcy5sZW5ndGg7IGkrKykgewogICAgdmFyIHRoaXNWYWx1ZSA9IHRoaXNWYWx1ZXNbaV07CiAgICBpZiAodGhpc1ZhbHVlLmxvY2FsZUNvbXBhcmUoKSAhPT0gdGhpc1ZhbHVlLmxvY2FsZUNvbXBhcmUodW5kZWZpbmVkKSkgewogICAgICAgICRFUlJPUigiU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlIGRvZXMgbm90IHRyZWF0IG1pc3NpbmcgJ3RoYXQnIGFyZ3VtZW50IGFzIHVuZGVmaW5lZC4iKTsKICAgIH0KICAgIGlmICh0aGlzVmFsdWUubG9jYWxlQ29tcGFyZSh1bmRlZmluZWQpICE9PSB0aGlzVmFsdWUubG9jYWxlQ29tcGFyZSgidW5kZWZpbmVkIikpIHsKICAgICAgICAkRVJST1IoIlN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZSBkb2VzIG5vdCB0cmVhdCB1bmRlZmluZWQgJ3RoYXQnIGFyZ3VtZW50IGFzIFwidW5kZWZpbmVkXCIuIik7CiAgICB9Cn0KCg==", +"commentary":"", +"description":"Tests that String.prototype.localeCompare treats a missing\n \"that\" argument, undefined, and \"undefined\" as equivalent.", +"path":"TestCases/intl402/ch13/13.1/13.1.1_3_2.js" }, { "author":"Norbert Lindenberg", diff --git a/website/json/suiteDescrip.json b/website/json/suiteDescrip.json index 6e8df4c9c..9869a8b68 100644 --- a/website/json/suiteDescrip.json +++ b/website/json/suiteDescrip.json @@ -1 +1 @@ -{"date":"2012-12-17","version":"ES5.1"}
\ No newline at end of file +{"date":"2013-02-07","version":"ES5.1"}
\ No newline at end of file diff --git a/website/json/testcases_ch15.json b/website/json/testcases_ch15.json index 2190d8289..5863f2a4c 100644 --- a/website/json/testcases_ch15.json +++ b/website/json/testcases_ch15.json @@ -1,5 +1,5 @@ { -"numTests":8074, +"numTests":8075, "testSuite":[ "json/ch15.json" ] diff --git a/website/json/testcases_intl402.json b/website/json/testcases_intl402.json index c9f1c489a..06df8f99d 100644 --- a/website/json/testcases_intl402.json +++ b/website/json/testcases_intl402.json @@ -1,5 +1,5 @@ { -"numTests":141, +"numTests":142, "testSuite":[ "json/intl402.json" ] |