You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
768 B
29 lines
768 B
'use strict'; |
|
|
|
var d = require('d') |
|
, isSymbol = require('../is-symbol') |
|
|
|
, defineProperty = Object.defineProperty; |
|
|
|
module.exports = function (T, a) { |
|
var symbol = T('test'), x = {}; |
|
defineProperty(x, symbol, d('foo')); |
|
a(x.test, undefined, "Name"); |
|
a(x[symbol], 'foo', "Get"); |
|
a(x instanceof T, false); |
|
|
|
a(isSymbol(symbol), true, "Symbol"); |
|
a(isSymbol(T.iterator), true, "iterator"); |
|
a(isSymbol(T.toStringTag), true, "toStringTag"); |
|
|
|
x = {}; |
|
x[symbol] = 'foo'; |
|
if (typeof symbol !== 'symbol') { |
|
a.deep(Object.getOwnPropertyDescriptor(x, symbol), { configurable: true, enumerable: false, |
|
value: 'foo', writable: true }); |
|
} |
|
symbol = T.for('marko'); |
|
a(isSymbol(symbol), true); |
|
a(T.for('marko'), symbol); |
|
a(T.keyFor(symbol), 'marko'); |
|
};
|
|
|