Index: pkg/front_end/test/src/base/libraries_reader_test.dart |
diff --git a/pkg/front_end/test/src/base/libraries_reader_test.dart b/pkg/front_end/test/src/base/libraries_reader_test.dart |
deleted file mode 100644 |
index 548fea0493764689cd53a07d46dde147ab634b12..0000000000000000000000000000000000000000 |
--- a/pkg/front_end/test/src/base/libraries_reader_test.dart |
+++ /dev/null |
@@ -1,239 +0,0 @@ |
-// Copyright (c) 2016, 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. |
- |
-import 'package:analyzer/error/listener.dart'; |
-import 'package:analyzer/src/generated/parser.dart'; |
-import 'package:analyzer/src/summary/summarize_ast.dart'; |
-import 'package:front_end/src/base/library_info.dart'; |
-import 'package:front_end/src/libraries_reader.dart'; |
-import 'package:front_end/src/scanner/errors.dart'; |
-import 'package:front_end/src/scanner/reader.dart'; |
-import 'package:front_end/src/scanner/scanner.dart'; |
-import 'package:test/test.dart'; |
-import 'package:test_reflective_loader/test_reflective_loader.dart'; |
- |
-main() { |
- defineReflectiveSuite(() { |
- defineReflectiveTests(LibrariesReaderTest); |
- }); |
-} |
- |
-/// Generic URI resolver tests which do not depend on the particular path |
-/// context in use. |
-@reflectiveTest |
-class LibrariesReaderTest { |
- test_categoriesClient() { |
- var info = |
- _computeSingleInfo('const LibraryInfo("", categories: "Client")'); |
- expect(info.categories, [Category.client]); |
- expect(info.categoriesString, 'Client'); |
- } |
- |
- test_categoriesDefault() { |
- var info = _computeSingleInfo('const LibraryInfo("")'); |
- expect(info.categories, isEmpty); |
- expect(info.categoriesString, ''); |
- } |
- |
- test_categoriesMultiple() { |
- var info = _computeSingleInfo( |
- 'const LibraryInfo("", categories: "Client,Server")'); |
- expect( |
- info.categories, unorderedEquals([Category.client, Category.server])); |
- expect(info.categoriesString, 'Client,Server'); |
- } |
- |
- test_categoriesNone() { |
- var info = _computeSingleInfo('const LibraryInfo("", categories: "")'); |
- expect(info.categories, isEmpty); |
- expect(info.categoriesString, ''); |
- } |
- |
- test_categoriesSingle() { |
- var info = |
- _computeSingleInfo('const LibraryInfo("", categories: "Client")'); |
- expect(info.categories, [Category.client]); |
- expect(info.categoriesString, 'Client'); |
- } |
- |
- test_complex() { |
- var info = _computeSingleInfo( |
- ''' |
-const LibraryInfo( |
- "async/async.dart", |
- categories: "Client,Server", |
- maturity: Maturity.STABLE, |
- dart2jsPatchPath: "_internal/js_runtime/lib/async_patch.dart")) |
-''', |
- additionalDeclarations: ''' |
-class Maturity { |
- final int level; |
- final String name; |
- final String description; |
- |
- const Maturity(this.level, this.name, this.description); |
- |
- static const Maturity STABLE = const Maturity(4, "Stable", "Stable description"); |
-} |
-'''); |
- expect(info.path, 'async/async.dart'); |
- expect( |
- info.categories, unorderedEquals([Category.client, Category.server])); |
- expect(info.maturity.name, 'Stable'); |
- expect(info.dart2jsPatchPath, '_internal/js_runtime/lib/async_patch.dart'); |
- } |
- |
- test_dart2jsPatchPathDefault() { |
- var info = _computeSingleInfo('const LibraryInfo("")'); |
- expect(info.dart2jsPatchPath, null); |
- } |
- |
- test_dart2jsPatchPathString() { |
- var info = _computeSingleInfo(''' |
-const LibraryInfo( |
- "", |
- dart2jsPatchPath: "_internal/js_runtime/lib/async_patch.dart") |
-'''); |
- expect(info.dart2jsPatchPath, '_internal/js_runtime/lib/async_patch.dart'); |
- } |
- |
- test_dart2jsPathDefault() { |
- var info = _computeSingleInfo('const LibraryInfo("")'); |
- expect(info.dart2jsPath, null); |
- } |
- |
- test_dart2jsPathString() { |
- var info = _computeSingleInfo( |
- 'const LibraryInfo("", dart2jsPath: "html/dart2js/html_dart2js.dart"'); |
- expect(info.dart2jsPath, 'html/dart2js/html_dart2js.dart'); |
- } |
- |
- test_documentedDefault() { |
- var info = _computeSingleInfo('const LibraryInfo("")'); |
- expect(info.documented, true); |
- } |
- |
- test_documentedFalse() { |
- var info = _computeSingleInfo('const LibraryInfo("", documented: false)'); |
- expect(info.documented, false); |
- } |
- |
- test_documentedTrue() { |
- var info = _computeSingleInfo('const LibraryInfo("", documented: true)'); |
- expect(info.documented, true); |
- } |
- |
- test_implementationDefault() { |
- var info = _computeSingleInfo('const LibraryInfo("")'); |
- expect(info.implementation, false); |
- } |
- |
- test_implementationFalse() { |
- var info = |
- _computeSingleInfo('const LibraryInfo("", implementation: false)'); |
- expect(info.implementation, false); |
- } |
- |
- test_implementationTrue() { |
- var info = |
- _computeSingleInfo('const LibraryInfo("", implementation: true)'); |
- expect(info.implementation, true); |
- } |
- |
- test_maturityDefault() { |
- var info = _computeSingleInfo('const LibraryInfo("")'); |
- expect(info.maturity, Maturity.UNSPECIFIED); |
- } |
- |
- test_maturityStable() { |
- var info = |
- _computeSingleInfo('const LibraryInfo("", maturity: Maturity.FOO)', |
- additionalDeclarations: ''' |
-class Maturity { |
- final int level; |
- final String name; |
- final String description; |
- |
- const Maturity(this.level, this.name, this.description); |
- |
- static const Maturity FOO = const Maturity(10, "Foo", "Foo description"); |
-} |
-'''); |
- expect(info.maturity.level, 10); |
- expect(info.maturity.name, 'Foo'); |
- expect(info.maturity.description, 'Foo description'); |
- } |
- |
- test_multipleLibraries() { |
- var info = _computeLibraries(''' |
-const Map<String, LibraryInfo> libraries = const { |
- "async": const LibraryInfo("async/async.dart"), |
- "core": const LibraryInfo("core/core.dart") |
-} |
-'''); |
- expect(info.keys, unorderedEquals(['async', 'core'])); |
- expect(info['async'].path, 'async/async.dart'); |
- expect(info['core'].path, 'core/core.dart'); |
- } |
- |
- test_path() { |
- var info = _computeSingleInfo('const LibraryInfo("core/core.dart")'); |
- expect(info.path, 'core/core.dart'); |
- } |
- |
- test_platformsDefault() { |
- var info = _computeSingleInfo('const LibraryInfo("")'); |
- expect(info.platforms, DART2JS_PLATFORM | VM_PLATFORM); |
- } |
- |
- test_platformsMultiple() { |
- var info = _computeSingleInfo( |
- 'const LibraryInfo("", platforms: VM_PLATFORM | DART2JS_PLATFORM)', |
- additionalDeclarations: ''' |
-const int DART2JS_PLATFORM = 1; |
-const int VM_PLATFORM = 2; |
-'''); |
- expect(info.platforms, 1 | 2); |
- } |
- |
- test_platformsSingle() { |
- var info = |
- _computeSingleInfo('const LibraryInfo("", platforms: VM_PLATFORM)', |
- additionalDeclarations: ''' |
-const int VM_PLATFORM = 2; |
-'''); |
- expect(info.platforms, 2); |
- } |
- |
- Map<String, LibraryInfo> _computeLibraries(String text, |
- {String additionalDeclarations: ''}) { |
- var fullText = '$text\n$additionalDeclarations'; |
- var scanner = new _Scanner(fullText); |
- var token = scanner.tokenize(); |
- var parser = new Parser(null, AnalysisErrorListener.NULL_LISTENER); |
- var compilationUnit = parser.parseCompilationUnit(token); |
- var unlinkedUnit = serializeAstUnlinked(compilationUnit); |
- return readLibraries(unlinkedUnit); |
- } |
- |
- LibraryInfo _computeSingleInfo(String text, |
- {String additionalDeclarations: ''}) { |
- var libraries = _computeLibraries( |
- 'const Map<String, LibraryInfo> libraries = const { "x": $text };', |
- additionalDeclarations: additionalDeclarations); |
- return libraries['x']; |
- } |
-} |
- |
-class _Scanner extends Scanner { |
- _Scanner(String contents) : super.create(new CharSequenceReader(contents)) { |
- preserveComments = false; |
- } |
- |
- @override |
- void reportError( |
- ScannerErrorCode errorCode, int offset, List<Object> arguments) { |
- fail('Unexpected error($errorCode, $offset, $arguments)'); |
- } |
-} |