blob: 3fa9a8b7562875561e88fb7a5d5a7b6e43f425c5 [file] [log] [blame]
// Copyright (c) 2014, 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.9
import 'package:expect/expect.dart';
import 'package:async_helper/async_helper.dart';
import "mixin_lib1.dart" deferred as lib1;
import "mixin_lib2.dart" deferred as lib2;
class NonDeferredMixin {
foo() => "NonDeferredMixin";
class NonDeferredMixin1 {
foo() => "NonDeferredMixin1";
class NonDeferredMixin2 {
foo() => "NonDeferredMixin2";
main() {
Expect.equals("NonDeferredMixin", new NonDeferredMixin().foo());
Expect.equals("NonDeferredMixin1", new NonDeferredMixin1().foo());
Expect.equals("NonDeferredMixin2", new NonDeferredMixin2().foo());
lib1.loadLibrary().then((_) {
Expect.equals("lib1.Mixin", new lib1.Mixin().foo());
Expect.equals("A with NonDeferredMixin", new lib1.A().foo());
Expect.equals("B with lib1.Mixin", new lib1.B().foo());
Expect.equals("C with NonDeferredMixin1", new lib1.C().foo());
Expect.equals("D with lib1.Mixin", new lib1.D().foo());
Expect.equals("E with SharedMixin", new lib1.E().foo());
lib2.loadLibrary().then((_) {
Expect.equals("lib2.A with SharedMixin", new lib2.A().foo());