83fb5e9253677bf7df837a253b1e81e8db45d9a9
[platform/framework/web/crosswalk-tizen.git] /
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 };