]> git.r.bdr.sh - rbdr/dotfiles/blob - atom/packages/vim-mode/node_modules/grim/node_modules/emissary/node_modules/es6-weak-map/node_modules/es6-symbol/test/polyfill.js
83fb5e9253677bf7df837a253b1e81e8db45d9a9
[rbdr/dotfiles] / atom / packages / vim-mode / node_modules / grim / node_modules / emissary / node_modules / es6-weak-map / node_modules / es6-symbol / test / polyfill.js
1 'use strict';
2
3 var d = require('d')
4 , isSymbol = require('../is-symbol')
5
6 , defineProperty = Object.defineProperty;
7
8 module.exports = function (T, a) {
9 var symbol = T('test'), x = {};
10 defineProperty(x, symbol, d('foo'));
11 a(x.test, undefined, "Name");
12 a(x[symbol], 'foo', "Get");
13 a(x instanceof T, false);
14
15 a(isSymbol(symbol), true, "Symbol");
16 a(isSymbol(T.iterator), true, "iterator");
17 a(isSymbol(T.toStringTag), true, "toStringTag");
18
19 x = {};
20 x[symbol] = 'foo';
21 a.deep(Object.getOwnPropertyDescriptor(x, symbol), { configurable: true, enumerable: false,
22 value: 'foo', writable: true });
23 symbol = T.for('marko');
24 a(isSymbol(symbol), true);
25 a(T.for('marko'), symbol);
26 a(T.keyFor(symbol), 'marko');
27 };