diff options
Diffstat (limited to 'js/src/tests/test262/built-ins/Symbol/for/create-value.js')
-rw-r--r-- | js/src/tests/test262/built-ins/Symbol/for/create-value.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/js/src/tests/test262/built-ins/Symbol/for/create-value.js b/js/src/tests/test262/built-ins/Symbol/for/create-value.js new file mode 100644 index 0000000000..68eabf199b --- /dev/null +++ b/js/src/tests/test262/built-ins/Symbol/for/create-value.js @@ -0,0 +1,26 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +esid: sec-symbol.for +description: Creation of a unique Symbol value +info: | + 1. Let stringKey be ? ToString(key). + 2. For each element e of the GlobalSymbolRegistry List, + a. If SameValue(e.[[Key]], stringKey) is true, return e.[[Symbol]]. + 3. Assert: GlobalSymbolRegistry does not currently contain an entry for + stringKey. + 4. Let newSymbol be a new unique Symbol value whose [[Description]] value + is stringKey. + 5. Append the Record { [[Key]]: stringKey, [[Symbol]]: newSymbol } to the + GlobalSymbolRegistry List. + 6. Return newSymbol. +features: [Symbol] +---*/ + +var canonical = Symbol.for('s'); + +assert.sameValue(typeof canonical, 'symbol'); +assert.notSameValue(canonical, Symbol('s')); +assert.notSameValue(canonical, Symbol.for('y')); + +reportCompare(0, 0); |