| Index: frog/tests/native/src/NativeNoSuchMethodException2FrogTest.dart
|
| ===================================================================
|
| --- frog/tests/native/src/NativeNoSuchMethodException2FrogTest.dart (revision 5968)
|
| +++ frog/tests/native/src/NativeNoSuchMethodException2FrogTest.dart (working copy)
|
| @@ -3,24 +3,37 @@
|
| // BSD-style license that can be found in the LICENSE file.
|
|
|
| class A native "*A" {
|
| - bar() => 42;
|
| }
|
|
|
| -class B native "*B" {
|
| - foo() => 42;
|
| +class B extends A native "*B" {
|
| + foo() native;
|
| }
|
|
|
| makeA() native;
|
| +makeB() native;
|
|
|
| setup() native """
|
| +function inherits(child, parent) {
|
| + if (child.prototype.__proto__) {
|
| + child.prototype.__proto__ = parent.prototype;
|
| + } else {
|
| + function tmp() {};
|
| + tmp.prototype = parent.prototype;
|
| + child.prototype = new tmp();
|
| + child.prototype.constructor = child;
|
| + }
|
| +}
|
| function A() {}
|
| + function B() {}
|
| + inherits(B, A);
|
| makeA = function() { return new A; }
|
| + makeB = function() { return new B; }
|
| + B.prototype.foo = function() { return 42; }
|
| """;
|
|
|
| main() {
|
| setup();
|
| var a = makeA();
|
| - a.bar();
|
| var exception;
|
| try {
|
| a.foo();
|
| @@ -28,4 +41,7 @@
|
| exception = e;
|
| }
|
| Expect.isNotNull(exception);
|
| +
|
| + var b = makeB();
|
| + Expect.equals(42, b.foo());
|
| }
|
|
|