1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
| "use strict";
|
| var d = require("d")
| , isSymbol = require("../is-symbol")
| , defineProperty = Object.defineProperty;
|
| module.exports = function (t, a) {
| var symbol = t("test"), obj = {};
| defineProperty(obj, symbol, d("foo"));
| a(obj.test, undefined, "Name");
| a(obj[symbol], "foo", "Get");
| a(obj instanceof t, false);
|
| a(isSymbol(symbol), true, "Symbol");
| a(isSymbol(t.iterator), true, "iterator");
| a(isSymbol(t.toStringTag), true, "toStringTag");
|
| obj = {};
| obj[symbol] = "foo";
| if (typeof symbol !== "symbol") {
| a.deep(Object.getOwnPropertyDescriptor(obj, 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");
| };
|
|