| Index: test/mjsunit/harmony/super.js
|
| diff --git a/test/mjsunit/harmony/super.js b/test/mjsunit/harmony/super.js
|
| index 2469181e9bbd07f8e661e06ab0043f384b7ab1c5..e8d3c9d57f42c908de3487b1fe0882a6bc3b7389 100644
|
| --- a/test/mjsunit/harmony/super.js
|
| +++ b/test/mjsunit/harmony/super.js
|
| @@ -120,17 +120,17 @@
|
|
|
|
|
| (function TestAccessorsOnPrimitives() {
|
| - var getCalled = false;
|
| - var setCalled = false;
|
| + var getCalled = 0;
|
| + var setCalled = 0;
|
| function Base() {}
|
| Base.prototype = {
|
| constructor: Base,
|
| get x() {
|
| - getCalled = true;
|
| + getCalled++;
|
| return 1;
|
| },
|
| set x(v) {
|
| - setCalled = true;
|
| + setCalled++;
|
| return v;
|
| },
|
| };
|
| @@ -141,46 +141,41 @@
|
| constructor: Derived,
|
| };
|
| Derived.prototype.testSetter = function() {
|
| - assertTrue(42 == this);
|
| - getCalled = false;
|
| - setCalled = false;
|
| + setCalled = 0;
|
| + getCalled = 0;
|
| + assertEquals('object', typeof this);
|
| + assertTrue(this instanceof Number)
|
| + assertEquals(42, this.valueOf());
|
| assertEquals(1, super.x);
|
| - assertTrue(getCalled);
|
| - assertFalse(setCalled);
|
| + assertEquals(1, getCalled);
|
| + assertEquals(0, setCalled);
|
|
|
| - setCalled = false;
|
| - getCalled = false;
|
| assertEquals(5, super.x = 5);
|
| - assertFalse(getCalled);
|
| - assertTrue(setCalled);
|
| + assertEquals(1, getCalled);
|
| + assertEquals(1, setCalled);
|
|
|
| - getCalled = false;
|
| - setCalled = false;
|
| assertEquals(6, super.x += 5);
|
| - assertTrue(getCalled);
|
| - assertTrue(setCalled);
|
| + assertEquals(2, getCalled);
|
| + assertEquals(2, setCalled);
|
| }.toMethod(Derived.prototype);
|
|
|
| Derived.prototype.testSetterStrict = function() {
|
| 'use strict';
|
| - assertTrue(42 == this);
|
| - getCalled = false;
|
| - setCalled = false;
|
| + getCalled = 0;
|
| + setCalled = 0;
|
| + assertTrue(42 === this);
|
| +
|
| assertEquals(1, super.x);
|
| - assertTrue(getCalled);
|
| - assertFalse(setCalled);
|
| + assertEquals(1, getCalled);
|
| + assertEquals(0, setCalled);
|
|
|
| - setCalled = false;
|
| - getCalled = false;
|
| assertEquals(5, super.x = 5);
|
| - assertFalse(getCalled);
|
| - assertTrue(setCalled);
|
| + assertEquals(1, getCalled);
|
| + assertEquals(1, setCalled);
|
|
|
| - getCalled = false;
|
| - setCalled = false;
|
| assertEquals(6, super.x += 5);
|
| - assertTrue(getCalled);
|
| - assertTrue(setCalled);
|
| + assertEquals(2, getCalled);
|
| + assertEquals(2, setCalled);
|
| }.toMethod(Derived.prototype);
|
|
|
| Derived.prototype.testSetter.call(42);
|
| @@ -191,13 +186,14 @@
|
|
|
| function f() {
|
| 'use strict';
|
| - assertTrue(42 == this);
|
| + assertTrue(42 === this);
|
| assertEquals(String.prototype.toString, super.toString);
|
| - var except = false;
|
| + var ex;
|
| try {
|
| super.toString();
|
| - } catch(e) { except = true; }
|
| - assertTrue(except);
|
| + } catch(e) { ex = e; }
|
| +
|
| + assertTrue(ex instanceof TypeError);
|
| }
|
| f.toMethod(DerivedFromString.prototype).call(42);
|
| }());
|
| @@ -213,7 +209,7 @@
|
| }.toMethod(Derived.prototype);
|
|
|
| Derived.prototype.mStrict = function () {
|
| - "use strict";
|
| + 'use strict';
|
| super.x = 10;
|
| }.toMethod(Derived.prototype);
|
| var d = new Derived();
|
| @@ -276,7 +272,7 @@
|
| (function TestUnsupportedCases() {
|
| function f1(x) { return super[x]; }
|
| function f2(x) { super[x] = 5; }
|
| - var o = {}
|
| + var o = {};
|
| assertThrows(function(){f1.toMethod(o)(x);}, ReferenceError);
|
| assertThrows(function(){f2.toMethod(o)(x);}, ReferenceError);
|
| }());
|
|
|