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

Side by Side Diff: test/transformer_test.dart

Issue 951463004: support more types of expressions (Closed) Base URL: git@github.com:dart-lang/static-init.git@master
Patch Set: support PropertyAccess expressions 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
« no previous file with comments | « pubspec.yaml ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, 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 library initialize.transformer_test; 4 library initialize.transformer_test;
5 5
6 import 'common.dart'; 6 import 'common.dart';
7 import 'package:analyzer/src/generated/element.dart'; 7 import 'package:analyzer/src/generated/element.dart';
8 import 'package:dart_style/dart_style.dart'; 8 import 'package:dart_style/dart_style.dart';
9 import 'package:initialize/transformer.dart'; 9 import 'package:initialize/transformer.dart';
10 import 'package:unittest/compact_vm_config.dart'; 10 import 'package:unittest/compact_vm_config.dart';
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 }, []); 110 }, []);
111 } 111 }
112 112
113 void dartEntryPointTests() { 113 void dartEntryPointTests() {
114 var phases = [[new InitializeTransformer(['web/index.dart'])]]; 114 var phases = [[new InitializeTransformer(['web/index.dart'])]];
115 115
116 testPhases('constructor arguments', phases, { 116 testPhases('constructor arguments', phases, {
117 'a|web/index.dart': ''' 117 'a|web/index.dart': '''
118 @DynamicInit(foo) 118 @DynamicInit(foo)
119 @DynamicInit(Foo.foo) 119 @DynamicInit(Foo.foo)
120 @DynamicInit(bar.Foo.bar)
121 @DynamicInit(bar.Foo.foo)
120 @DynamicInit(const [foo, Foo.foo, 'foo']) 122 @DynamicInit(const [foo, Foo.foo, 'foo'])
121 @DynamicInit(const {'foo': foo, 'Foo.foo': Foo.foo, 'bar': 'bar'}) 123 @DynamicInit(const {'foo': foo, 'Foo.foo': Foo.foo, 'bar': 'bar'})
122 @DynamicInit('foo') 124 @DynamicInit('foo')
123 @DynamicInit(true) 125 @DynamicInit(true)
124 @DynamicInit(null) 126 @DynamicInit(null)
125 @DynamicInit(1) 127 @DynamicInit(1)
126 @DynamicInit(1.1) 128 @DynamicInit(1.1)
129 @DynamicInit('foo-\$x\${y}')
130 @DynamicInit(1 + 2)
131 @DynamicInit(1.0 + 0.2)
132 @DynamicInit(1 == 1)
127 @NamedArgInit(1, name: 'Bill') 133 @NamedArgInit(1, name: 'Bill')
128 library web_foo; 134 library web_foo;
129 135
130 import 'package:test_initializers/common.dart'; 136 import 'package:test_initializers/common.dart';
131 import 'foo.dart'; 137 import 'foo.dart';
138 import 'foo.dart' as bar;
139
140 const x = 'x';
141 const y = 'y';
142
143 class MyConst {
144 const MyConst;
145 }
132 ''', 146 ''',
133 'a|web/foo.dart': ''' 147 'a|web/foo.dart': '''
134 library foo; 148 library foo;
135 149
136 const String foo = 'foo'; 150 const String foo = 'foo';
137 151
152 class Bar {
153 const Bar();
154 }
155
138 class Foo { 156 class Foo {
139 static foo = 'Foo.foo'; 157 static foo = 'Foo.foo';
158 static bar = const Bar();
140 } 159 }
141 ''', 160 ''',
142 // Mock out the Initialize package plus some initializers. 161 // Mock out the Initialize package plus some initializers.
143 'initialize|lib/initialize.dart': mockInitialize, 162 'initialize|lib/initialize.dart': mockInitialize,
144 'test_initializers|lib/common.dart': commonInitializers, 163 'test_initializers|lib/common.dart': commonInitializers,
145 }, { 164 }, {
146 'a|web/index.initialize.dart': formatter.format(''' 165 'a|web/index.initialize.dart': formatter.format('''
147 import 'package:initialize/src/static_loader.dart'; 166 import 'package:initialize/src/static_loader.dart';
148 import 'package:initialize/initialize.dart'; 167 import 'package:initialize/initialize.dart';
149 import 'index.dart' as i0; 168 import 'index.dart' as i0;
150 import 'package:test_initializers/common.dart' as i1; 169 import 'package:test_initializers/common.dart' as i1;
151 import 'foo.dart' as i2; 170 import 'foo.dart' as i2;
152 171
153 main() { 172 main() {
154 initializers.addAll([ 173 initializers.addAll([
155 new InitEntry(const i1.DynamicInit(i2.foo), const LibraryIdentifier( #web_foo, null, 'index.dart')), 174 new InitEntry(const i1.DynamicInit(i2.foo), const LibraryIdentifier( #web_foo, null, 'index.dart')),
156 new InitEntry(const i1.DynamicInit(i2.Foo.foo), const LibraryIdentif ier(#web_foo, null, 'index.dart')), 175 new InitEntry(const i1.DynamicInit(i2.Foo.foo), const LibraryIdentif ier(#web_foo, null, 'index.dart')),
176 new InitEntry(const i1.DynamicInit(i2.Foo.bar), const LibraryIdentif ier(#web_foo, null, 'index.dart')),
177 new InitEntry(const i1.DynamicInit(i2.Foo.foo), const LibraryIdentif ier(#web_foo, null, 'index.dart')),
157 new InitEntry(const i1.DynamicInit(const [i2.foo, i2.Foo.foo, 'foo'] ), const LibraryIdentifier(#web_foo, null, 'index.dart')), 178 new InitEntry(const i1.DynamicInit(const [i2.foo, i2.Foo.foo, 'foo'] ), const LibraryIdentifier(#web_foo, null, 'index.dart')),
158 new InitEntry(const i1.DynamicInit(const {'foo': i2.foo, 'Foo.foo': i2.Foo.foo, 'bar': 'bar'}), const LibraryIdentifier(#web_foo, null, 'index.dart' )), 179 new InitEntry(const i1.DynamicInit(const {'foo': i2.foo, 'Foo.foo': i2.Foo.foo, 'bar': 'bar'}), const LibraryIdentifier(#web_foo, null, 'index.dart' )),
159 new InitEntry(const i1.DynamicInit('foo'), const LibraryIdentifier(# web_foo, null, 'index.dart')), 180 new InitEntry(const i1.DynamicInit('foo'), const LibraryIdentifier(# web_foo, null, 'index.dart')),
160 new InitEntry(const i1.DynamicInit(true), const LibraryIdentifier(#w eb_foo, null, 'index.dart')), 181 new InitEntry(const i1.DynamicInit(true), const LibraryIdentifier(#w eb_foo, null, 'index.dart')),
161 new InitEntry(const i1.DynamicInit(null), const LibraryIdentifier(#w eb_foo, null, 'index.dart')), 182 new InitEntry(const i1.DynamicInit(null), const LibraryIdentifier(#w eb_foo, null, 'index.dart')),
162 new InitEntry(const i1.DynamicInit(1), const LibraryIdentifier(#web_ foo, null, 'index.dart')), 183 new InitEntry(const i1.DynamicInit(1), const LibraryIdentifier(#web_ foo, null, 'index.dart')),
163 new InitEntry(const i1.DynamicInit(1.1), const LibraryIdentifier(#we b_foo, null, 'index.dart')), 184 new InitEntry(const i1.DynamicInit(1.1), const LibraryIdentifier(#we b_foo, null, 'index.dart')),
185 new InitEntry(const i1.DynamicInit('foo-xy'), const LibraryIdentifie r(#web_foo, null, 'index.dart')),
186 new InitEntry(const i1.DynamicInit(3), const LibraryIdentifier(#web_ foo, null, 'index.dart')),
187 new InitEntry(const i1.DynamicInit(1.2), const LibraryIdentifier(#we b_foo, null, 'index.dart')),
188 new InitEntry(const i1.DynamicInit(true), const LibraryIdentifier(#w eb_foo, null, 'index.dart')),
164 new InitEntry(const i1.NamedArgInit(1, name: 'Bill'), const LibraryI dentifier(#web_foo, null, 'index.dart')), 189 new InitEntry(const i1.NamedArgInit(1, name: 'Bill'), const LibraryI dentifier(#web_foo, null, 'index.dart')),
165 ]); 190 ]);
166 191
167 i0.main(); 192 i0.main();
168 } 193 }
169 ''') 194 ''')
170 }, []); 195 }, []);
171 } 196 }
172 197
173 class SkipConstructorsPlugin extends InitializerPlugin { 198 class SkipConstructorsPlugin extends InitializerPlugin {
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
224 initializers.addAll([ 249 initializers.addAll([
225 new InitEntry(i2.initMethod, i1.foo), 250 new InitEntry(i2.initMethod, i1.foo),
226 new InitEntry(i2.initMethod, i0.index), 251 new InitEntry(i2.initMethod, i0.index),
227 ]); 252 ]);
228 253
229 i0.main(); 254 i0.main();
230 } 255 }
231 ''') 256 ''')
232 }, []); 257 }, []);
233 } 258 }
OLDNEW
« no previous file with comments | « pubspec.yaml ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698