| // Copyright 2020 Apple Inc. All rights reserved. |
| // This code is governed by the BSD license found in the LICENSE file. |
| |
| /*--- |
| esid: sec-unwrapnumberformat |
| description: > |
| Tests that [[FallbackSymbol]]'s [[Description]] is "IntlLegacyConstructedSymbol" if normative optional is implemented. |
| author: Yusuke Suzuki |
| features: [intl-normative-optional] |
| ---*/ |
| |
| let object = new Intl.NumberFormat(); |
| let newObject = Intl.NumberFormat.call(object); |
| let symbol = null; |
| let error = null; |
| try { |
| let proxy = new Proxy(newObject, { |
| get(target, property) { |
| symbol = property; |
| return target[property]; |
| } |
| }); |
| Intl.NumberFormat.prototype.resolvedOptions.call(proxy); |
| } catch (e) { |
| // If normative optional is not implemented, an error will be thrown. |
| error = e; |
| assert(error instanceof TypeError); |
| } |
| if (error === null) { |
| assert.sameValue(typeof symbol, "symbol"); |
| assert.sameValue(symbol.description, "IntlLegacyConstructedSymbol"); |
| } |