// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. // @dart = 2.7 import 'native_testing.dart'; @Native("A") class A { toString() => 'AAA'; } makeA() native; void setup() { JS('', r""" (function(){ function A() {} self.makeA = function(){return new A()}; self.nativeConstructor(A); })()"""); applyTestExtensions(['A']); } main() { nativeTesting(); setup(); Expect.isTrue(makeA().toString() is String); Expect.equals('AAA', makeA().toString()); Expect.isTrue(confuse(makeA()).toString() is String); Expect.equals('AAA', confuse(makeA()).toString()); }