Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(244)

Unified Diff: test/mjsunit/harmony/private.js

Issue 118553003: Upgrade Symbol implementation to match current ES6 behavior. (Closed) Base URL: git://github.com/v8/v8.git@bleeding_edge
Patch Set: Created 6 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: test/mjsunit/harmony/private.js
diff --git a/test/mjsunit/harmony/private.js b/test/mjsunit/harmony/private.js
index 09cf7f74084082e36ab1d66391022985dffe492c..266023e7c464067a7e9d11a1958917c8d007021b 100644
--- a/test/mjsunit/harmony/private.js
+++ b/test/mjsunit/harmony/private.js
@@ -42,14 +42,12 @@ function TestNew() {
}
TestNew()
-
function TestType() {
for (var i in symbols) {
assertEquals("symbol", typeof symbols[i])
assertTrue(typeof symbols[i] === "symbol")
assertTrue(%SymbolIsPrivate(symbols[i]))
assertEquals(null, %_ClassOf(symbols[i]))
- assertEquals("Symbol", %_ClassOf(new Symbol(symbols[i])))
assertEquals("Symbol", %_ClassOf(Object(symbols[i])))
}
}
@@ -66,19 +64,20 @@ TestPrototype()
function TestConstructor() {
for (var i in symbols) {
- assertSame(Symbol, symbols[i].__proto__.constructor)
+ assertSame(Function, symbols[i].__proto__.constructor)
+ assertSame(Symbol, Object(symbols[i]).__proto__.constructor)
}
}
TestConstructor()
-function TestName() {
+function TestValueOf() {
for (var i in symbols) {
- var name = symbols[i].name
- assertTrue(name === "66")
+ var value = Object(symbols[i]).valueOf()
+ assertTrue(value === symbols[i])
}
}
-TestName()
+TestValueOf()
function TestToString() {
@@ -86,8 +85,8 @@ function TestToString() {
assertThrows(function() { String(symbols[i]) }, TypeError)
assertThrows(function() { symbols[i] + "" }, TypeError)
assertThrows(function() { symbols[i].toString() }, TypeError)
- assertThrows(function() { (new Symbol(symbols[i])).toString() }, TypeError)
- assertThrows(function() { Object(symbols[i]).toString() }, TypeError)
+ assertThrows(function() { (Symbol(symbols[i])).toString() }, TypeError)
+ assertDoesNotThrow(function() { Object(symbols[i]).toString() })
assertEquals("[object Symbol]", Object.prototype.toString.call(symbols[i]))
}
}
@@ -128,10 +127,10 @@ function TestEquality() {
assertTrue(Object.is(symbols[i], symbols[i]))
assertTrue(symbols[i] === symbols[i])
assertTrue(symbols[i] == symbols[i])
- assertFalse(symbols[i] === new Symbol(symbols[i]))
- assertFalse(new Symbol(symbols[i]) === symbols[i])
- assertTrue(symbols[i] == new Symbol(symbols[i]))
- assertTrue(new Symbol(symbols[i]) == symbols[i])
+ assertTrue(symbols[i] === (Object(symbols[i])).valueOf())
+ assertTrue((Object(symbols[i])).valueOf() === symbols[i])
+ assertTrue(symbols[i] == (Object(symbols[i])).valueOf())
+ assertTrue((Object(symbols[i])).valueOf() == symbols[i])
}
// All symbols should be distinct.
@@ -160,7 +159,7 @@ TestEquality()
function TestGet() {
for (var i in symbols) {
assertThrows(function() { symbols[i].toString() }, TypeError)
- assertEquals(symbols[i], symbols[i].valueOf())
+ assertEquals(symbols[i], Object(symbols[i]).valueOf())
assertEquals(undefined, symbols[i].a)
assertEquals(undefined, symbols[i]["a" + "b"])
assertEquals(undefined, symbols[i]["" + "1"])
@@ -175,7 +174,7 @@ function TestSet() {
symbols[i].toString = 0
assertThrows(function() { symbols[i].toString() }, TypeError)
symbols[i].valueOf = 0
- assertEquals(symbols[i], symbols[i].valueOf())
+ assertEquals(symbols[i], Object(symbols[i]).valueOf())
symbols[i].a = 0
assertEquals(undefined, symbols[i].a)
symbols[i]["a" + "b"] = 0

Powered by Google App Engine
This is Rietveld 408576698