diff options
Diffstat (limited to 'js/src/tests/test262/intl402/NumberFormat/this-value-ignored.js')
-rw-r--r-- | js/src/tests/test262/intl402/NumberFormat/this-value-ignored.js | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/js/src/tests/test262/intl402/NumberFormat/this-value-ignored.js b/js/src/tests/test262/intl402/NumberFormat/this-value-ignored.js new file mode 100644 index 0000000000..ac07b22269 --- /dev/null +++ b/js/src/tests/test262/intl402/NumberFormat/this-value-ignored.js @@ -0,0 +1,37 @@ +// Copyright 2012 Mozilla Corporation. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-intl-numberformat-constructor +description: > + Tests that the this-value is ignored in NumberFormat, if the this-value + isn't a NumberFormat instance. +author: Norbert Lindenberg +includes: [testIntl.js] +---*/ + +testWithIntlConstructors(function (Constructor) { + if (Constructor === Intl.NumberFormat) + return; + + var obj, newObj; + + // variant 1: use constructor in a "new" expression + obj = new Constructor(); + newObj = Intl.NumberFormat.call(obj); + assert.notSameValue(obj, newObj, "NumberFormat object created with \"new\" was not ignored as this-value."); + + // variant 2: use constructor as a function + if (Constructor !== Intl.Collator && + Constructor !== Intl.NumberFormat && + Constructor !== Intl.DateTimeFormat) + { + // Newer Intl constructors are not callable as a function. + return; + } + obj = Constructor(); + newObj = Intl.NumberFormat.call(obj); + assert.notSameValue(obj, newObj, "NumberFormat object created with constructor as function was not ignored as this-value."); +}); + +reportCompare(0, 0); |