blob: 31a81b3388f076fae403a7e6a9079e14a2295310 [file] [log] [blame]
// 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.
/// @assertion const DeferredLibrary(String libraryName, {String uri})
/// (from #11507: Lazy library loading is a hint to deployment tools.
/// The VM is free to ignore this metadata.)
/// @description Checks that DeferredLibrary loads in lazy way.
/// @author kaigorodov
/// @todo move from LibTest to Language
import "../../../Utils/expect.dart";
import 'DeferredLibrary_A01_t01.lib.dart' deferred as lazy;
void main() {
try {
lazy.method(); // foo is not loaded yet.
// Expect.fail("NoSuchMethodError expected"); -- #11507: do not insist on lazy loading
} on NoSuchMethodError catch(ok) {
}
asyncStart();
lazy.loadLibrary().then(onFooLoaded);
}
void onFooLoaded(_) {
String name=lazy.method();
Expect.equals('DeferredLibrary_A01_t01.lib', name);
asyncEnd();
}