blob: 46262c13707111f64d48d323dc7869db8123e2f2 [file] [log] [blame]
// 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);
}
}