blob: 52f2e9f20dad988f804a52bd0ec20e165e6279bf [file] [log] [blame]
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001// Copyright 2015 the V8 project authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5(function StoreToSuper () {
6 "use strict";
7 class A {
8 s() {
9 super.bla = 10;
10 }
11 };
12
13 let a = new A();
14 (new A).s.call(a);
15 assertEquals(10, a.bla);
16 assertThrows(function() { (new A).s.call(undefined); }, TypeError);
17 assertThrows(function() { (new A).s.call(42); }, TypeError);
18 assertThrows(function() { (new A).s.call(null); }, TypeError);
19 assertThrows(function() { (new A).s.call("abc"); }, TypeError);
20})();
21
22
23(function LoadFromSuper () {
24 "use strict";
25 class A {
26 s() {
27 return super.bla;
28 }
29 };
30
31 let a = new A();
32 assertSame(undefined, (new A).s.call(a));
33 assertSame(undefined, (new A).s.call(undefined));
34 assertSame(undefined, (new A).s.call(42));
35 assertSame(undefined, (new A).s.call(null));
36 assertSame(undefined, (new A).s.call("abc"));
37})();