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

Side by Side Diff: tests/language/deferred_global_test.dart

Issue 795923003: Dart2js, move deferred global vars to the right output unit. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Fix initialization of deferred on second loadLibrary Created 6 years 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) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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:expect/expect.dart'; 5 import 'package:expect/expect.dart';
6 import 'package:async_helper/async_helper.dart'; 6 import 'package:async_helper/async_helper.dart';
7 7
8 import "deferred_global_lib.dart" deferred as lib; 8 import "deferred_global_lib.dart" deferred as lib;
9 9
10 var nonDeferredGlobal = const {};
11
10 void main() { 12 void main() {
13 nonDeferredGlobal = null;
11 asyncStart(); 14 asyncStart();
12 lib.loadLibrary().then((_) { 15 lib.loadLibrary().then((_) {
16 // Ensure non-deferred globals are not reset when loading a deferred
17 // library.
18 Expect.equals(null, nonDeferredGlobal);
19
13 Expect.equals("finalConstGlobal", lib.finalConstGlobal); 20 Expect.equals("finalConstGlobal", lib.finalConstGlobal);
14 Expect.equals(0, lib.sideEffectCounter); 21 Expect.equals(0, lib.sideEffectCounter);
15 Expect.equals("finalNonConstGlobal", lib.finalNonConstGlobal); 22 Expect.equals("finalNonConstGlobal", lib.finalNonConstGlobal);
16 Expect.equals(1, lib.sideEffectCounter); 23 Expect.equals(1, lib.sideEffectCounter);
17 Expect.equals("finalConstGlobal", lib.finalConstGlobal); 24 Expect.equals("finalConstGlobal", lib.finalConstGlobal);
18 Expect.equals("finalNonConstGlobal", lib.finalNonConstGlobal); 25 Expect.equals("finalNonConstGlobal", lib.finalNonConstGlobal);
19 Expect.equals("lazyConstGlobal", lib.lazyConstGlobal); 26 Expect.equals("lazyConstGlobal", lib.lazyConstGlobal);
20 Expect.equals(1, lib.sideEffectCounter); 27 Expect.equals(1, lib.sideEffectCounter);
21 Expect.equals("lazyNonConstGlobal", lib.lazyNonConstGlobal); 28 Expect.equals("lazyNonConstGlobal", lib.lazyNonConstGlobal);
22 Expect.equals(2, lib.sideEffectCounter); 29 Expect.equals(2, lib.sideEffectCounter);
(...skipping 10 matching lines...) Expand all
33 Expect.equals("lazyNonConstGlobal_mutated", lib.readLazyNonConstGlobal()); 40 Expect.equals("lazyNonConstGlobal_mutated", lib.readLazyNonConstGlobal());
34 Expect.equals(2, lib.sideEffectCounter); 41 Expect.equals(2, lib.sideEffectCounter);
35 42
36 lib.writeLazyConstGlobal("lazyConstGlobal_mutated2"); 43 lib.writeLazyConstGlobal("lazyConstGlobal_mutated2");
37 lib.writeLazyNonConstGlobal("lazyNonConstGlobal_mutated2"); 44 lib.writeLazyNonConstGlobal("lazyNonConstGlobal_mutated2");
38 Expect.equals("lazyConstGlobal_mutated2", lib.lazyConstGlobal); 45 Expect.equals("lazyConstGlobal_mutated2", lib.lazyConstGlobal);
39 Expect.equals("lazyNonConstGlobal_mutated2", lib.lazyNonConstGlobal); 46 Expect.equals("lazyNonConstGlobal_mutated2", lib.lazyNonConstGlobal);
40 Expect.equals("lazyConstGlobal_mutated2", lib.readLazyConstGlobal()); 47 Expect.equals("lazyConstGlobal_mutated2", lib.readLazyConstGlobal());
41 Expect.equals("lazyNonConstGlobal_mutated2", lib.readLazyNonConstGlobal()); 48 Expect.equals("lazyNonConstGlobal_mutated2", lib.readLazyNonConstGlobal());
42 49
50 Expect.mapEquals({}, lib.lazyConstGlobal2);
51 lib.const1Global = 0;
52 Expect.equals(0, lib.const1Global);
53 // Try loading the deferred library again, should not reset the globals.
54 lib.loadLibrary().then((_) {
55 Expect.equals(0, lib.const1Global);
56 });
57
58
43 Expect.equals(2, lib.sideEffectCounter); 59 Expect.equals(2, lib.sideEffectCounter);
44 asyncEnd(); 60 asyncEnd();
floitsch 2014/12/11 13:37:30 This asyncEnd is before the lib.loadLibrary() abov
45 }); 61 });
46 } 62 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698