124b98b461
Also update dart2jsOptions on some tests that are failing on production/O0 configurations. Change-Id: Ie0a8fa56dc391c98186f1573a76cff7ef6afde8d Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/433563 Reviewed-by: Mayank Patke <fishythefish@google.com>
48 lines
1.2 KiB
Dart
48 lines
1.2 KiB
Dart
// Copyright (c) 2013, 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.
|
|
|
|
// Test that loading of a library (with top-level functions only) can
|
|
// be deferred.
|
|
|
|
import 'package:expect/async_helper.dart';
|
|
import 'package:expect/expect.dart';
|
|
|
|
import '../../deferred/deferred_function_library.dart' deferred as lib;
|
|
|
|
bool isError(e) => e is Error;
|
|
|
|
readFoo() {
|
|
return lib.foo;
|
|
}
|
|
|
|
main() {
|
|
Expect.throws(() {
|
|
lib.foo('a');
|
|
}, isError);
|
|
Expect.throws(readFoo, isError);
|
|
int counter = 0;
|
|
asyncStart();
|
|
lib.loadLibrary().then((_) {
|
|
Expect.equals(1, ++counter);
|
|
print('lazy was loaded');
|
|
Expect.equals(42, lib.foo('b'));
|
|
Expect.isNotNull(readFoo());
|
|
asyncEnd();
|
|
});
|
|
Expect.equals(0, counter);
|
|
asyncStart();
|
|
lib.loadLibrary().then((_) {
|
|
Expect.equals(2, ++counter);
|
|
print('lazy was loaded');
|
|
Expect.equals(42, lib.foo('b'));
|
|
Expect.isNotNull(readFoo());
|
|
asyncEnd();
|
|
});
|
|
Expect.equals(0, counter);
|
|
Expect.throws(() {
|
|
lib.foo('a');
|
|
}, isError);
|
|
Expect.throws(readFoo, isError);
|
|
}
|