// Copyright (c) 2011, 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 // Test that parameters keep their names in the output. import "package:expect/expect.dart"; import "package:async_helper/async_helper.dart"; import '../helpers/compiler_helper.dart'; const String TEST_ONE = r""" class A { foo() => 499; } class B { bar() => 499; } class C { gee() => 499; } void main() { new C().gee(); new B().bar(); new A().foo(); } """; const String TEST_TWO = r""" class A extends B { foo() => 499; } class B extends C { bar() => 499; } class C { gee() => 499; } void main() { new C().gee(); new B().bar(); new A().foo(); } """; main() { // Make sure that class A, B and C are emitted in that order. For simplicity // we just verify that their members are in the correct order. RegExp regexp = new RegExp(r"foo\$0?:(.|\n)*bar\$0:(.|\n)*gee\$0:"); runTests() async { String generated1 = await compileAll(TEST_ONE); Expect.isTrue(regexp.hasMatch(generated1)); String generated2 = await compileAll(TEST_TWO); Expect.isTrue(regexp.hasMatch(generated2)); } asyncTest(() async { print('--test from kernel------------------------------------------------'); await runTests(); }); }