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

Side by Side Diff: tests/compiler/dart2js/embedded_category_api_boundary_test.dart

Issue 1562023002: Add test of unittests. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Updated cf. comments Created 4 years, 11 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
OLDNEW
1 // Copyright (c) 2015, the Fletch project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, the Fletch 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.md file. 3 // BSD-style license that can be found in the LICENSE.md file.
4 4
5 /// Tests that analyzing everything from the libraries that are public from the 5 /// Tests that analyzing everything from the libraries that are public from the
6 /// embedded category does not cause elements from other libraries to be 6 /// embedded category does not cause elements from other libraries to be
7 /// processed. 7 /// processed.
8 library embedded_category_boundary_test; 8 library embedded_category_boundary_test;
9 9
10 import 'package:expect/expect.dart'; 10 import 'package:expect/expect.dart';
11 import 'package:async_helper/async_helper.dart'; 11 import 'package:async_helper/async_helper.dart';
12 import 'package:compiler/src/compiler.dart'; 12 import 'package:compiler/src/compiler.dart';
13 import 'package:compiler/src/elements/elements.dart'; 13 import 'package:compiler/src/elements/elements.dart';
14 import 'package:sdk_library_metadata/libraries.dart'; 14 import 'package:sdk_library_metadata/libraries.dart';
15 15
16 import 'analyze_helper.dart'; 16 import 'analyze_helper.dart';
17 17
18 main() async { 18 main() async {
19 List<Uri> uriList = new List<Uri>(); 19 List<Uri> uriList = new List<Uri>();
20 libraries.forEach((String name, LibraryInfo info) { 20 libraries.forEach((String name, LibraryInfo info) {
21 if (info.categories.contains(Category.embedded)) { 21 if (info.categories.contains(Category.embedded)) {
22 uriList.add(new Uri(scheme: 'dart', path: name)); 22 uriList.add(new Uri(scheme: 'dart', path: name));
23 } 23 }
24 }); 24 });
25 asyncTest(() async { 25 asyncTest(() async {
26 analyze(uriList, {}, 26 analyze(uriList, {},
27 checkResults: checkResults, analyzeMain: true, analyzeAll: false); 27 checkResults: checkResults,
28 mode: AnalysisMode.MAIN);
28 }); 29 });
29 } 30 }
30 31
31 /// These elements are currently escaping from dart:async via 32 /// These elements are currently escaping from dart:async via
32 /// `core._Resource#_readAsStream`. 33 /// `core._Resource#_readAsStream`.
33 Set<String> whiteList = new Set.from([ 34 Set<String> whiteList = new Set.from([
34 "function(StreamController#addError)", 35 "function(StreamController#addError)",
35 "getter(StreamController#stream)", 36 "getter(StreamController#stream)",
36 "setter(StreamController#onListen)" 37 "setter(StreamController#onListen)"
37 ]); 38 ]);
38 39
39 bool checkResults(Compiler compiler, CollectingDiagnosticHandler handler) { 40 bool checkResults(Compiler compiler, CollectingDiagnosticHandler handler) {
40 return compiler.enqueuer.resolution.processedElements 41 return compiler.enqueuer.resolution.processedElements
41 .every((Element element) { 42 .every((Element element) {
42 if (whiteList.contains("$element")) return true; 43 if (whiteList.contains("$element")) return true;
43 LibraryInfo info = libraries[element.library.canonicalUri.path]; 44 LibraryInfo info = libraries[element.library.canonicalUri.path];
44 bool isAllowedInEmbedded = 45 bool isAllowedInEmbedded =
45 info.isInternal || info.categories.contains(Category.embedded); 46 info.isInternal || info.categories.contains(Category.embedded);
46 return isAllowedInEmbedded; 47 return isAllowedInEmbedded;
47 }); 48 });
48 } 49 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698