From 70b97383a8a6cc7f3d837fac769463742fbb7cfa Mon Sep 17 00:00:00 2001 From: Joyee Cheung Date: Fri, 8 Jun 2018 05:35:45 +0800 Subject: [PATCH] test getter on symbols and wrapper objects --- .../prototype/description/this-val-symbol.js | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 test/built-ins/Symbol/prototype/description/this-val-symbol.js diff --git a/test/built-ins/Symbol/prototype/description/this-val-symbol.js b/test/built-ins/Symbol/prototype/description/this-val-symbol.js new file mode 100644 index 0000000000..604e4e47ea --- /dev/null +++ b/test/built-ins/Symbol/prototype/description/this-val-symbol.js @@ -0,0 +1,33 @@ +// Copyright 2018 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-symbol.prototype.description +description: > + Test that calling the getter on a Symbol or a Symbol wrapper object works. +info: | + 1. Let s be the this value. + 2. Let sym be ? thisSymbolValue(s). + 3. Return sym.[[Description]]. +features: [Symbol.prototype.description] +---*/ + +const getter = Object.getOwnPropertyDescriptor( + Symbol.prototype, 'description' +).get; + +const symbol = Symbol('test'); +assert.sameValue(getter.call(symbol), 'test'); +assert.sameValue(getter.call(Object(symbol)), 'test'); + +const empty = Symbol(); +assert.sameValue(getter.call(empty), undefined); +assert.sameValue(getter.call(Object(empty)), undefined); + +const undef = Symbol(undefined); +assert.sameValue(getter.call(undef), undefined); +assert.sameValue(getter.call(Object(undef)), undefined); + +const emptyStr = Symbol(''); +assert.sameValue(getter.call(emptyStr), ''); +assert.sameValue(getter.call(Object(emptyStr)), '');