diff options
Diffstat (limited to 'js/src/tests/test262/built-ins/Array/prototype/toLocaleString/primitive_this_value_getter-strict.js')
-rw-r--r-- | js/src/tests/test262/built-ins/Array/prototype/toLocaleString/primitive_this_value_getter-strict.js | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/js/src/tests/test262/built-ins/Array/prototype/toLocaleString/primitive_this_value_getter-strict.js b/js/src/tests/test262/built-ins/Array/prototype/toLocaleString/primitive_this_value_getter-strict.js new file mode 100644 index 0000000000..1dd5009ef5 --- /dev/null +++ b/js/src/tests/test262/built-ins/Array/prototype/toLocaleString/primitive_this_value_getter-strict.js @@ -0,0 +1,38 @@ +'use strict'; +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-array.prototype.tolocalestring +description: Array.prototype.toLocaleString called with primitive element in getter +info: | + 22.1.3.26 Array.prototype.toLocaleString ( [ reserved1 [ , reserved2 ] ] ) + + ... + 10. Else + a. Let R be ToString(Invoke(firstElement, "toLocaleString")). + b. ReturnIfAbrupt(R). + ... + 12. + ... + e. Else + i. Let R be ToString(Invoke(nextElement, "toLocaleString")). + ii. ReturnIfAbrupt(R). +es6id: 22.1.3.26 +flags: [onlyStrict] +---*/ + +var listSeparator = ["", ""].toLocaleString(); + +Object.defineProperty(Boolean.prototype, "toString", { + get: function() { + var v = typeof this; + return function() { + return v; + }; + } +}); + +assert.sameValue([true, false].toLocaleString(), ("boolean" + listSeparator + "boolean")); + +reportCompare(0, 0); |