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

Side by Side Diff: pkg/analysis_server/test/services/completion/completion_target_test.dart

Issue 882273002: tests for earlier CL (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 10 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
« no previous file with comments | « no previous file | pkg/analysis_server/test/services/completion/completion_test_util.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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
3 // BSD-style license that can be found in the LICENSE file.
4
5 library test.services.completion.target;
6
7 import 'package:analysis_server/src/services/completion/completion_target.dart';
8 import 'package:analyzer/src/generated/ast.dart';
9 import 'package:analyzer/src/generated/source.dart';
10 import 'package:unittest/unittest.dart';
11
12 import '../../abstract_context.dart';
13 import '../../reflective_tests.dart';
14
15 main() {
16 groupSep = ' | ';
17 runReflectiveTests(CompletionTargetTest);
18 }
19
20 @reflectiveTest
21 class CompletionTargetTest extends AbstractContextTest {
22 int completionOffset;
23 CompletionTarget target;
24
25 void addTestSource(String content) {
26 expect(completionOffset, isNull, reason: 'Call addTestUnit exactly once');
Paul Berry 2015/01/29 16:39:42 I think you mean "Call addTestSource exactly once"
danrubel 2015/01/29 16:54:50 Yes. Fixed.
27 completionOffset = content.indexOf('^');
28 expect(completionOffset, isNot(equals(-1)), reason: 'missing ^');
29 int nextOffset = content.indexOf('^', completionOffset + 1);
30 expect(nextOffset, equals(-1), reason: 'too many ^');
31 content = content.substring(0, completionOffset) +
32 content.substring(completionOffset + 1);
33 Source testSource = addSource('/test.dart', content);
34 CompilationUnit unit = context.parseCompilationUnit(testSource);
35 target = new CompletionTarget.forOffset(unit, completionOffset);
36 }
37
38 test_AsExpression_identifier() {
39 // SimpleIdentifier TypeName AsExpression
40 addTestSource('class A {var b; X _c; foo() {var a; (a^ as String).foo();}');
41 expect(target.entity.toString(), 'a as String');
42 expect(target.containingNode.toString(), '(a as String)');
43 }
44
45 test_AsExpression_keyword() {
46 // SimpleIdentifier TypeName AsExpression
47 addTestSource('class A {var b; X _c; foo() {var a; (a ^as String).foo();}');
48 expect(target.entity.toString(), 'as');
49 expect(target.containingNode.toString(), 'a as String');
50 }
51
52 test_AsExpression_keyword2() {
53 // SimpleIdentifier TypeName AsExpression
54 addTestSource('class A {var b; X _c; foo() {var a; (a a^s String).foo();}');
55 expect(target.entity.toString(), 'as');
56 expect(target.containingNode.toString(), 'a as String');
57 }
58
59 test_AsExpression_keyword3() {
60 // SimpleIdentifier TypeName AsExpression
61 addTestSource('class A {var b; X _c; foo() {var a; (a as^ String).foo();}');
62 expect(target.entity.toString(), 'as');
63 expect(target.containingNode.toString(), 'a as String');
64 }
65
66 test_AsExpression_type() {
67 // SimpleIdentifier TypeName AsExpression
68 addTestSource('class A {var b; X _c; foo() {var a; (a as ^String).foo();}');
69 expect(target.entity.toString(), 'String');
70 expect(target.containingNode.toString(), 'a as String');
71 }
72
73 test_InstanceCreationExpression_keyword() {
74 // InstanceCreationExpression ExpressionStatement Block
75 addTestSource('class C {foo(){var f; {var x;} new^ }}');
76 expect(target.entity.toString(), 'new ();');
77 expect(target.containingNode.toString(), '{var f; {var x;} new ();}');
78 }
79
80 test_InstanceCreationExpression_keyword2() {
81 // InstanceCreationExpression ExpressionStatement Block
82 addTestSource('class C {foo(){var f; {var x;} new^ C();}}');
83 expect(target.entity.toString(), 'new C();');
84 expect(target.containingNode.toString(), '{var f; {var x;} new C();}');
85 }
86
87 test_InstanceCreationExpression_identifier() {
88 // InstanceCreationExpression ExpressionStatement Block
89 addTestSource('class C {foo(){var f; {var x;} new ^C();}}');
90 expect(target.entity.toString(), 'C');
91 expect(target.containingNode.toString(), 'new C()');
92 }
93
94 test_VariableDeclaration_lhs_identifier_after() {
95 // VariableDeclaration VariableDeclarationList
96 addTestSource('main() {int b^ = 1;}');
97 expect(target.entity.toString(), 'b = 1');
98 expect(target.containingNode.toString(), 'int b = 1');
99 }
100
101 test_VariableDeclaration_lhs_identifier_before() {
102 // VariableDeclaration VariableDeclarationList
103 addTestSource('main() {int ^b = 1;}');
104 expect(target.entity.toString(), 'b = 1');
105 expect(target.containingNode.toString(), 'int b = 1');
106 }
107 }
OLDNEW
« no previous file with comments | « no previous file | pkg/analysis_server/test/services/completion/completion_test_util.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698