File: polyfill.js

package info (click to toggle)
node-es6-symbol 3.1.3%2B~cs3.11.0-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, sid, trixie
  • size: 840 kB
  • sloc: javascript: 2,087; makefile: 3
file content (32 lines) | stat: -rw-r--r-- 806 bytes parent folder | download | duplicates (2)
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");
};