Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(9)

Side by Side Diff: tests/compiler/dart2js_extra/deferred/deferred_class_test.dart

Issue 221663005: Load deferred chunks in the right order. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 import 'package:async_helper/async_helper.dart'; 5 import 'package:async_helper/async_helper.dart';
6 import 'package:expect/expect.dart'; 6 import 'package:expect/expect.dart';
7 7
8 import 'dart:async'; 8 import 'dart:async';
9 9
10 @lazy import 'deferred_class_library.dart' as lib; 10 @lazy import 'deferred_class_library.dart' as lib;
11 11
12 const lazy = const DeferredLibrary('deferred_class_library'); 12 const lazy = const DeferredLibrary('deferred_class_library');
13 13
14 isNoSuchMethodError(e) => e is NoSuchMethodError; 14 isNoSuchMethodError(e) => e is NoSuchMethodError;
15 15
16 main() { 16 main() {
17 var x; 17 var x;
18 Expect.throws(() { x = new lib.MyClass(); }, isNoSuchMethodError); 18 Expect.throws(() { x = new lib.MyClass(); }, isNoSuchMethodError);
19 Expect.isNull(x); 19 Expect.isNull(x);
20 int counter = 0; 20 int counter = 0;
21 asyncStart(); 21 asyncStart();
22 lazy.load().then((bool didLoad) { 22 lazy.load().then((_) {
23 Expect.isTrue(didLoad);
24 Expect.equals(1, ++counter); 23 Expect.equals(1, ++counter);
25 print('deferred_class_library was loaded'); 24 print('deferred_class_library was loaded');
26 x = new lib.MyClass(); 25 x = new lib.MyClass();
27 Expect.equals(42, x.foo(87)); 26 Expect.equals(42, x.foo(87));
28 asyncEnd(); 27 asyncEnd();
29 }); 28 });
30 Expect.equals(0, counter); 29 Expect.equals(0, counter);
31 Expect.isNull(x); 30 Expect.isNull(x);
32 asyncStart(); 31 asyncStart();
33 lazy.load().then((bool didLoad) { 32 lazy.load().then((_) {
34 Expect.isFalse(didLoad);
35 Expect.equals(2, ++counter); 33 Expect.equals(2, ++counter);
36 print('deferred_class_library was loaded'); 34 print('deferred_class_library was loaded');
37 x = new lib.MyClass(); 35 x = new lib.MyClass();
38 Expect.equals(42, x.foo(87)); 36 Expect.equals(42, x.foo(87));
39 asyncEnd(); 37 asyncEnd();
40 }); 38 });
41 Expect.equals(0, counter); 39 Expect.equals(0, counter);
42 Expect.isNull(x); 40 Expect.isNull(x);
43 Expect.throws(() { x = new lib.MyClass(); }, isNoSuchMethodError); 41 Expect.throws(() { x = new lib.MyClass(); }, isNoSuchMethodError);
44 Expect.isNull(x); 42 Expect.isNull(x);
45 } 43 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698