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

Unified Diff: pkg/front_end/test/incremental_resolved_ast_generator_test.dart

Issue 2892203003: Remove IncrementalResolvedAstGenerator. (Closed)
Patch Set: Created 3 years, 7 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/front_end/lib/src/incremental_resolved_ast_generator_impl.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/front_end/test/incremental_resolved_ast_generator_test.dart
diff --git a/pkg/front_end/test/incremental_resolved_ast_generator_test.dart b/pkg/front_end/test/incremental_resolved_ast_generator_test.dart
deleted file mode 100644
index 5a8682d443d7050a3b62c721ed42829834d7843c..0000000000000000000000000000000000000000
--- a/pkg/front_end/test/incremental_resolved_ast_generator_test.dart
+++ /dev/null
@@ -1,172 +0,0 @@
-// Copyright (c) 2017, 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 'dart:async';
-
-import 'package:analyzer/dart/ast/ast.dart';
-import 'package:analyzer/dart/ast/standard_resolution_map.dart';
-import 'package:analyzer/dart/element/element.dart';
-import 'package:analyzer/file_system/physical_file_system.dart';
-import 'package:analyzer/src/dart/sdk/sdk.dart';
-import 'package:front_end/compiler_options.dart';
-import 'package:front_end/incremental_resolved_ast_generator.dart';
-import 'package:front_end/memory_file_system.dart';
-import 'package:test/test.dart';
-import 'package:test_reflective_loader/test_reflective_loader.dart';
-
-main() {
- defineReflectiveSuite(() {
- defineReflectiveTests(IncrementalResolvedAstGeneratorTest);
- });
-}
-
-final _sdkSummary = _readSdkSummary();
-
-List<int> _readSdkSummary() {
- var resourceProvider = PhysicalResourceProvider.INSTANCE;
- var sdk = new FolderBasedDartSdk(resourceProvider,
- FolderBasedDartSdk.defaultSdkDirectory(resourceProvider))
- ..useSummary = true;
- var path = resourceProvider.pathContext
- .join(sdk.directory.path, 'lib', '_internal', 'strong.sum');
- return resourceProvider.getFile(path).readAsBytesSync();
-}
-
-@reflectiveTest
-class IncrementalResolvedAstGeneratorTest {
- static final sdkSummaryUri = Uri.parse('special:sdk_summary');
-
- /// Virtual filesystem for testing.
- final fileSystem = new MemoryFileSystem(Uri.parse('file:///'));
-
- /// The object under test.
- IncrementalResolvedAstGenerator incrementalResolvedAstGenerator;
-
- Future<Map<Uri, Map<Uri, CompilationUnit>>> getInitialProgram(
- Uri startingUri) async {
- fileSystem.entityForUri(sdkSummaryUri).writeAsBytesSync(_sdkSummary);
- incrementalResolvedAstGenerator = new IncrementalResolvedAstGenerator(
- startingUri,
- new CompilerOptions()
- ..fileSystem = fileSystem
- ..chaseDependencies = true
- ..sdkSummary = sdkSummaryUri
- ..packagesFileUri = new Uri());
- return (await incrementalResolvedAstGenerator.computeDelta()).newState;
- }
-
- test_incrementalUpdate_referenceToCore() async {
- writeFiles({'/foo.dart': 'main() { print(1); }'});
- var fooUri = Uri.parse('file:///foo.dart');
- var initialProgram = await getInitialProgram(fooUri);
- expect(initialProgram.keys, unorderedEquals([fooUri]));
-
- void _checkMain(CompilationUnit unit, int expectedArgument) {
- var mainStatements = _getFunctionStatements(_getFunction(unit, 'main'));
- expect(mainStatements, hasLength(1));
- _checkPrintLiteralInt(mainStatements[0], expectedArgument);
- }
-
- _checkMain(initialProgram[fooUri][fooUri], 1);
- writeFiles({'/foo.dart': 'main() { print(2); }'});
- // Verify that the file isn't actually reread until invalidate is called.
- var deltaProgram1 = await incrementalResolvedAstGenerator.computeDelta();
- // TODO(paulberry): since there is no delta, computeDelta should return an
- // empty map.
- // expect(deltaProgram1.newState, isEmpty);
- expect(deltaProgram1.newState.keys, unorderedEquals([fooUri]));
- _checkMain(deltaProgram1.newState[fooUri][fooUri], 1);
- incrementalResolvedAstGenerator.invalidateAll();
- var deltaProgram2 = await incrementalResolvedAstGenerator.computeDelta();
- expect(deltaProgram2.newState.keys, unorderedEquals([fooUri]));
- _checkMain(deltaProgram2.newState[fooUri][fooUri], 2);
- }
-
- test_invalidateAllBeforeInitialProgram() async {
- incrementalResolvedAstGenerator = new IncrementalResolvedAstGenerator(
- Uri.parse('file:///foo.dart'),
- new CompilerOptions()
- ..fileSystem = fileSystem
- ..chaseDependencies = true
- ..packagesFileUri = new Uri());
- incrementalResolvedAstGenerator.invalidateAll();
- }
-
- test_part() async {
- writeFiles({
- '/foo.dart': 'library foo; part "bar.dart"; main() { print(1); f(); }',
- '/bar.dart': 'part of foo; f() { print(2); }'
- });
- var fooUri = Uri.parse('file:///foo.dart');
- var barUri = Uri.parse('file:///bar.dart');
- var initialProgram = await getInitialProgram(fooUri);
- expect(initialProgram.keys, unorderedEquals([fooUri]));
- expect(initialProgram[fooUri].keys, unorderedEquals([fooUri, barUri]));
- var mainStatements = _getFunctionStatements(
- _getFunction(initialProgram[fooUri][fooUri], 'main'));
- var fDeclaration = _getFunction(initialProgram[fooUri][barUri], 'f');
- var fStatements = _getFunctionStatements(fDeclaration);
- expect(mainStatements, hasLength(2));
- _checkPrintLiteralInt(mainStatements[0], 1);
- _checkFunctionCall(mainStatements[1],
- resolutionMap.elementDeclaredByFunctionDeclaration(fDeclaration));
- expect(fStatements, hasLength(1));
- _checkPrintLiteralInt(fStatements[0], 2);
- // TODO(paulberry): now test incremental updates
- }
-
- /// Write the given file contents to the virtual filesystem.
- void writeFiles(Map<String, String> contents) {
- contents.forEach((path, text) {
- fileSystem
- .entityForUri(Uri.parse('file://$path'))
- .writeAsStringSync(text);
- });
- }
-
- void _checkFunctionCall(Statement statement, Element expectedTarget) {
- expect(statement, new isInstanceOf<ExpressionStatement>());
- var expressionStatement = statement as ExpressionStatement;
- expect(
- expressionStatement.expression, new isInstanceOf<MethodInvocation>());
- var methodInvocation = expressionStatement.expression as MethodInvocation;
- expect(
- resolutionMap.staticElementForIdentifier(methodInvocation.methodName),
- expectedTarget);
- }
-
- void _checkPrintLiteralInt(Statement statement, int expectedArgument) {
- expect(statement, new isInstanceOf<ExpressionStatement>());
- var expressionStatement = statement as ExpressionStatement;
- expect(
- expressionStatement.expression, new isInstanceOf<MethodInvocation>());
- var methodInvocation = expressionStatement.expression as MethodInvocation;
- expect(methodInvocation.methodName.name, 'print');
- var printElement =
- resolutionMap.staticElementForIdentifier(methodInvocation.methodName);
- expect(printElement, isNotNull);
- expect(printElement.library.source.uri, Uri.parse('dart:core'));
- expect(methodInvocation.argumentList.arguments, hasLength(1));
- expect(methodInvocation.argumentList.arguments[0],
- new isInstanceOf<IntegerLiteral>());
- var integerLiteral =
- methodInvocation.argumentList.arguments[0] as IntegerLiteral;
- expect(integerLiteral.value, expectedArgument);
- }
-
- FunctionDeclaration _getFunction(CompilationUnit unit, String name) {
- for (var declaration in unit.declarations) {
- if (declaration is FunctionDeclaration && declaration.name.name == name) {
- return declaration;
- }
- }
- throw fail('No function declaration found with name "$name"');
- }
-
- NodeList<Statement> _getFunctionStatements(FunctionDeclaration function) {
- var body = function.functionExpression.body;
- expect(body, new isInstanceOf<BlockFunctionBody>());
- return (body as BlockFunctionBody).block.statements;
- }
-}
« no previous file with comments | « pkg/front_end/lib/src/incremental_resolved_ast_generator_impl.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698