diff options
Diffstat (limited to 'js/src/tests/test262/intl402/supportedLocalesOf-locales-arg-coered-to-object.js')
-rw-r--r-- | js/src/tests/test262/intl402/supportedLocalesOf-locales-arg-coered-to-object.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/js/src/tests/test262/intl402/supportedLocalesOf-locales-arg-coered-to-object.js b/js/src/tests/test262/intl402/supportedLocalesOf-locales-arg-coered-to-object.js new file mode 100644 index 0000000000..9abbeeae27 --- /dev/null +++ b/js/src/tests/test262/intl402/supportedLocalesOf-locales-arg-coered-to-object.js @@ -0,0 +1,33 @@ +// Copyright 2012 Mozilla Corporation. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es5id: 9.2.1_4 +description: > + Tests that non-objects are converted to objects before + canonicalization. +author: Norbert Lindenberg +includes: [testIntl.js] +---*/ + +testWithIntlConstructors(function (Constructor) { + // undefined is handled separately + + // null should result in a TypeError + assert.throws(TypeError, function() { + var supportedForNull = Constructor.supportedLocalesOf(null); + }, "Null as locale list was not rejected."); + + // let's use an empty list for comparison + var supportedForEmptyList = Constructor.supportedLocalesOf([]); + // we don't compare the elements because length should be 0 - let's just verify that + assert.sameValue(supportedForEmptyList.length, 0, "Internal test error: Assumption about length being 0 is invalid."); + + // most non-objects will be interpreted as empty lists because a missing length property is interpreted as 0 + var supportedForNumber = Constructor.supportedLocalesOf(5); + assert.sameValue(supportedForNumber.length, supportedForEmptyList.length, "Supported locales differ between numeric and empty list input."); + var supportedForBoolean = Constructor.supportedLocalesOf(true); + assert.sameValue(supportedForBoolean.length, supportedForEmptyList.length, "Supported locales differ between boolean and empty list input."); +}); + +reportCompare(0, 0); |