0b620ad5e5
TBR=arv@chromium.org Review URL: https://codereview.chromium.org/1129713004 Cr-Commit-Position: refs/heads/master@{#28380}
38 lines
971 B
JavaScript
38 lines
971 B
JavaScript
// Copyright 2015 the V8 project authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
(function StoreToSuper () {
|
|
"use strict";
|
|
class A {
|
|
s() {
|
|
super.bla = 10;
|
|
}
|
|
};
|
|
|
|
let a = new A();
|
|
(new A).s.call(a);
|
|
assertEquals(10, a.bla);
|
|
assertThrows(function() { (new A).s.call(undefined); }, TypeError);
|
|
assertThrows(function() { (new A).s.call(42); }, TypeError);
|
|
assertThrows(function() { (new A).s.call(null); }, TypeError);
|
|
assertThrows(function() { (new A).s.call("abc"); }, TypeError);
|
|
})();
|
|
|
|
|
|
(function LoadFromSuper () {
|
|
"use strict";
|
|
class A {
|
|
s() {
|
|
return super.bla;
|
|
}
|
|
};
|
|
|
|
let a = new A();
|
|
assertSame(undefined, (new A).s.call(a));
|
|
assertSame(undefined, (new A).s.call(undefined));
|
|
assertSame(undefined, (new A).s.call(42));
|
|
assertSame(undefined, (new A).s.call(null));
|
|
assertSame(undefined, (new A).s.call("abc"));
|
|
})();
|