js/src/tests/ecma_6/Symbol/as-base-value.js
changeset 190283 db9d35e7c4fd4665c7f508239bb4e0103561a866
parent 190282 4ad5047763c05acfd90ce97c0d07ad6380f15efe
child 202248 9cfdbe321c17621e5f64e470600f9b45beb27f4c
--- a/js/src/tests/ecma_6/Symbol/as-base-value.js
+++ b/js/src/tests/ecma_6/Symbol/as-base-value.js
@@ -17,38 +17,41 @@ var symbols = [
 // Test accessor property, used below.
 var gets, sets;
 Object.defineProperty(Symbol.prototype, "prop", {
     get: function () {
         "use strict";
         gets++;
         assertEq(typeof this, "object");
         assertEq(this instanceof Symbol, true);
+        assertEq(this.valueOf(), sym);
         return "got";
     },
     set: function (v) {
         "use strict";
         sets++;
         assertEq(typeof this, "object");
         assertEq(this instanceof Symbol, true);
+        assertEq(this.valueOf(), sym);
         assertEq(v, "newvalue");
     }
 });
 
 for (var sym of symbols) {
     assertEq(sym.constructor, Symbol);
 
     // method on Object.prototype
     assertEq(sym.hasOwnProperty("constructor"), false);
     assertEq(sym.toLocaleString(), sym.toString()); // once .toString() exists
 
     // custom method monkeypatched onto Symbol.prototype
     Symbol.prototype.nonStrictMethod = function (arg) {
         assertEq(arg, "ok");
         assertEq(this instanceof Symbol, true);
+        assertEq(this.valueOf(), sym);
         return 13;
     };
     assertEq(sym.nonStrictMethod("ok"), 13);
 
     // the same, but strict mode
     Symbol.prototype.strictMethod = function (arg) {
         "use strict";
         assertEq(arg, "ok2");