import "conditional_import.dart" if (dart.library.foo) "dart:foo" as c;
import "conditional_import.dart"
    if (dart.library.html) "dart:html"
    if (dart.library.io) "dart:io" as b;
import "conditional_import.dart"
    if (dart.library.io) "dart:io"
    if (dart.library.html) "dart:html" as a;

class HttpRequest {}

expect(expected, actual) {}
testA(a.HttpRequest request) {}
testB(b.HttpRequest request) {}
testC(c.HttpRequest request) {}
void main() {}
