Chromium Code Reviews| Index: test/mjsunit/harmony/symbols.js |
| diff --git a/test/mjsunit/harmony/symbols.js b/test/mjsunit/harmony/symbols.js |
| index 26adb74660f3d7a05a8025db47a72eb072f47446..c617a9e993030e33fd9cf1a539dcad6b26cefe74 100644 |
| --- a/test/mjsunit/harmony/symbols.js |
| +++ b/test/mjsunit/harmony/symbols.js |
| @@ -410,15 +410,39 @@ function TestGetOwnPropertySymbolsWithProto() { |
| TestGetOwnPropertySymbolsWithProto() |
| -function TestGetOwnPropertySymbolsWithPrivateSymbols() { |
| - var privateSymbol = %CreatePrivateSymbol("private") |
| - var publicSymbol = Symbol() |
| - var publicSymbol2 = Symbol() |
| - var obj = {} |
| - obj[publicSymbol] = 1 |
| - obj[privateSymbol] = 2 |
| - obj[publicSymbol2] = 3 |
| - var syms = Object.getOwnPropertySymbols(obj) |
| - assertEquals(syms, [publicSymbol, publicSymbol2]) |
| +function TestRegistry() { |
| + assertFalse(Symbol.for("@@create") === Symbol.create) |
|
sof
2014/03/19 09:06:47
Worth adding an initial test for keyFor() over wel
Michael Starzinger
2014/03/19 10:15:25
+1
rossberg
2014/03/20 10:40:13
Done. (But note that it just returns undefined.)
|
| + assertFalse(Symbol.for("@@iterator") === Symbol.iterator) |
| + |
| + var symbol1 = Symbol.for("x1") |
| + var symbol2 = Symbol.for("x2") |
| + assertFalse(symbol1 === symbol2) |
| + |
| + assertSame(symbol1, Symbol.for("x1")) |
| + assertSame(symbol2, Symbol.for("x2")) |
| + assertSame("x1", Symbol.keyFor(symbol1)) |
| + assertSame("x2", Symbol.keyFor(symbol2)) |
| + |
| + assertSame(Symbol.for("1"), Symbol.for(1)) |
| + assertThrows(function() { Symbol.keyFor("bla") }, TypeError) |
| + |
| + var realm = Realm.create() |
| + assertFalse(Symbol === Realm.eval(realm, "Symbol")) |
| + assertFalse(Symbol.for === Realm.eval(realm, "Symbol.for")) |
| + assertFalse(Symbol.keyFor === Realm.eval(realm, "Symbol.keyFor")) |
| + assertSame(Symbol.create, Realm.eval(realm, "Symbol.create")) |
| + assertSame(Symbol.iterator, Realm.eval(realm, "Symbol.iterator")) |
| + |
| + assertSame(symbol1, Realm.eval(realm, "Symbol.for")("x1")) |
| + assertSame(symbol1, Realm.eval(realm, "Symbol.for('x1')")) |
| + assertSame("x1", Realm.eval(realm, "Symbol.keyFor")(symbol1)) |
| + Realm.shared = symbol1 |
| + assertSame("x1", Realm.eval(realm, "Symbol.keyFor(Realm.shared)")) |
| + |
| + var symbol3 = Realm.eval(realm, "Symbol.for('x3')") |
| + assertFalse(symbol1 === symbol3) |
| + assertFalse(symbol2 === symbol3) |
| + assertSame(symbol3, Symbol.for("x3")) |
| + assertSame("x3", Symbol.keyFor(symbol3)) |
| } |
| -TestGetOwnPropertySymbolsWithPrivateSymbols() |
| +TestRegistry() |