| // Copyright (c) 2015, 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 'config_corelib_general.dart' |
| if (dart.library.io) 'config_corelib_io.dart' |
| if (dart.library.http) 'config_corelib_http.dart' as lib; |
| |
| class SubClassy extends lib.Classy { |
| String get superName => super.name; |
| } |
| |
| main() { |
| var io = const bool.fromEnvironment("dart.library.io"); |
| var http = const bool.fromEnvironment("dart.library.http"); |
| |
| var cy = new SubClassy(); |
| |
| if (io) { |
| Expect.isTrue(lib.general()); |
| Expect.equals("io", lib.name); |
| Expect.equals("classy io", cy.name); |
| |
| Expect.isTrue(lib.ioSpecific()); |
| Expect.equals("classy io", cy.ioSpecific()); |
| |
| Expect.isFalse(lib.httpSpecific()); |
| Expect.throws(cy.httpSpecific); |
| } else if (http) { |
| Expect.isTrue(lib.general()); |
| Expect.equals("http", lib.name); |
| Expect.equals("classy http", cy.name); |
| |
| Expect.isFalse(lib.ioSpecific()); |
| Expect.throws(cy.ioSpecific); |
| |
| Expect.isTrue(lib.httpSpecific()); |
| Expect.equals("classy http", cy.httpSpecific()); |
| } else { |
| Expect.isTrue(lib.general()); |
| Expect.equals("general", lib.name); |
| Expect.equals("classy general", cy.name); |
| |
| Expect.isFalse(lib.ioSpecific()); |
| Expect.throws(cy.ioSpecific); |
| |
| Expect.isFalse(lib.httpSpecific()); |
| Expect.throws(cy.httpSpecific); |
| } |
| } |