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

Side by Side Diff: packages/polymer/test/build/all_phases_test.dart

Issue 2312183003: Removed Polymer from Observatory deps (Closed)
Patch Set: Created 4 years, 3 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
(Empty)
1 // Copyright (c) 2013, 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 polymer.test.build.all_phases_test;
6
7 import 'package:code_transformers/tests.dart' show testingDartSdkDirectory;
8 import 'package:polymer/src/build/common.dart';
9 import 'package:polymer/src/build/polymer_smoke_generator.dart'
10 show MAIN_HEADER;
11 import 'package:polymer/transformer.dart';
12 import 'package:smoke/codegen/generator.dart' show DEFAULT_IMPORTS;
13 import 'package:unittest/compact_vm_config.dart';
14
15 import 'common.dart';
16
17 void main() {
18 useCompactVMConfiguration();
19 var phases = createDeployPhases(new TransformOptions(),
20 sdkDir: testingDartSdkDirectory);
21
22 testPhases('observable changes', phases, {
23 'a|web/test.dart': _sampleInput('A', 'foo'),
24 'a|web/test2.dart': _sampleOutput('B', 'bar'),
25 }, {
26 'a|web/test.dart': _sampleOutput('A', 'foo'),
27 'a|web/test2.dart': _sampleOutput('B', 'bar'),
28 });
29
30 testPhases('single script', phases, {
31 'a|web/test.html': '<!DOCTYPE html><html><head>'
32 '<link rel="import" href="packages/polymer/polymer.html">'
33 '<script type="application/dart" src="a.dart"></script>',
34 'a|web/a.dart': _sampleInput('A', 'foo'),
35 }, {
36 'a|web/test.html': '<!DOCTYPE html><html><head>'
37 '$COMPATIBILITY_JS_TAGS'
38 '</head><body><div hidden="">'
39 '<script src="test.html.polymer.bootstrap.dart.js" async=""></script>'
40 '</div>'
41 '</body></html>',
42 'a|web/test.html.polymer.bootstrap.dart': '''$MAIN_HEADER
43 import 'test.web_components.bootstrap.dart' as i0;
44 ${DEFAULT_IMPORTS.join('\n')}
45 import 'package:polymer/polymer.dart' as smoke_0;
46 import 'a.dart' as smoke_1;
47
48 main() {
49 useGeneratedCode(new StaticConfiguration(
50 checkedMode: false,
51 parents: {
52 smoke_1.XA: smoke_0.PolymerElement,
53 },
54 declarations: {
55 smoke_1.XA: {},
56 smoke_0.PolymerElement: {},
57 }));
58 configureForDeployment();
59 return i0.main();
60 }
61 '''.replaceAll('\n ', '\n'),
62 'a|web/test.web_components.bootstrap.dart': '''
63 import 'package:initialize/src/static_loader.dart';
64 import 'package:initialize/initialize.dart';
65 import 'test.bootstrap.dart' as i0;
66 import 'a.dart' as i1;
67 import 'package:polymer/polymer.dart' as i2;
68
69 main() {
70 initializers.addAll([new InitEntry(const i2.CustomTag('x-A'), i1.XA) ,]);
71
72 return i0.main();
73 }
74 '''.replaceAll(' ', ''),
75 'a|web/test.bootstrap.dart': '''
76 library a.web.test_bootstrap_dart;
77
78 import 'a.dart' as i0;
79
80 main() => i0.main();
81 '''.replaceAll(' ', ''),
82 }, []);
83
84 testPhases('single script in subfolder', phases, {
85 'a|web/test.html': '<!DOCTYPE html><html><head>'
86 '<link rel="import" href="packages/polymer/polymer.html">'
87 '<script type="application/dart" src="foo/a.dart"></script>',
88 'a|web/foo/a.dart': _sampleInput('A', 'foo'),
89 }, {
90 'a|web/test.html': '<!DOCTYPE html><html><head>'
91 '$COMPATIBILITY_JS_TAGS'
92 '</head><body><div hidden="">'
93 '<script src="test.html.polymer.bootstrap.dart.js" async=""></script>'
94 '</div>'
95 '</body></html>',
96 'a|web/test.html.polymer.bootstrap.dart': '''$MAIN_HEADER
97 import 'test.web_components.bootstrap.dart' as i0;
98 ${DEFAULT_IMPORTS.join('\n')}
99 import 'package:polymer/polymer.dart' as smoke_0;
100 import 'foo/a.dart' as smoke_1;
101
102 main() {
103 useGeneratedCode(new StaticConfiguration(
104 checkedMode: false,
105 parents: {
106 smoke_1.XA: smoke_0.PolymerElement,
107 },
108 declarations: {
109 smoke_1.XA: {},
110 smoke_0.PolymerElement: {},
111 }));
112 configureForDeployment();
113 return i0.main();
114 }
115 '''.replaceAll('\n ', '\n'),
116 'a|web/test.web_components.bootstrap.dart': '''
117 import 'package:initialize/src/static_loader.dart';
118 import 'package:initialize/initialize.dart';
119 import 'test.bootstrap.dart' as i0;
120 import 'foo/a.dart' as i1;
121 import 'package:polymer/polymer.dart' as i2;
122
123 main() {
124 initializers.addAll([new InitEntry(const i2.CustomTag('x-A'), i1.XA),] );
125
126 return i0.main();
127 }
128 '''.replaceAll(' ', ''),
129 'a|web/test.bootstrap.dart': '''
130 library a.web.test_bootstrap_dart;
131
132 import 'foo/a.dart' as i0;
133
134 main() => i0.main();
135 '''.replaceAll(' ', ''),
136 }, []);
137
138 testPhases('single inline script', phases, {
139 'a|web/test.html': '<!DOCTYPE html><html><head>'
140 '<link rel="import" href="packages/polymer/polymer.html">'
141 '<script type="application/dart">'
142 '${_sampleInput("B", "bar")}</script>',
143 }, {
144 'a|web/test.html': '<!DOCTYPE html><html><head>'
145 '$COMPATIBILITY_JS_TAGS'
146 '</head><body><div hidden="">'
147 '<script src="test.html.polymer.bootstrap.dart.js" async=""></script>'
148 '</div>'
149 '</body></html>',
150 'a|web/test.html.polymer.bootstrap.dart': '''$MAIN_HEADER
151 import 'test.web_components.bootstrap.dart' as i0;
152 ${DEFAULT_IMPORTS.join('\n')}
153 import 'package:polymer/polymer.dart' as smoke_0;
154 import 'test.html.0.dart' as smoke_1;
155
156 main() {
157 useGeneratedCode(new StaticConfiguration(
158 checkedMode: false,
159 parents: {
160 smoke_1.XB: smoke_0.PolymerElement,
161 },
162 declarations: {
163 smoke_0.PolymerElement: {},
164 smoke_1.XB: {},
165 }));
166 configureForDeployment();
167 return i0.main();
168 }
169 '''.replaceAll('\n ', '\n'),
170 'a|web/test.web_components.bootstrap.dart': '''
171 import 'package:initialize/src/static_loader.dart';
172 import 'package:initialize/initialize.dart';
173 import 'test.bootstrap.dart' as i0;
174 import 'test.html.0.dart' as i1;
175 import 'package:polymer/polymer.dart' as i2;
176
177 main() {
178 initializers.addAll([new InitEntry(const i2.CustomTag('x-B'), i1.XB) ,]);
179
180 return i0.main();
181 }
182 '''.replaceAll(' ', ''),
183 'a|web/test.bootstrap.dart': '''
184 library a.web.test_bootstrap_dart;
185
186 import 'test.html.0.dart' as i0;
187
188 main() => i0.main();
189 '''.replaceAll(' ', ''),
190 'a|web/test.html.0.dart': _sampleOutput("B", "bar"),
191 }, []);
192
193 testPhases('with imports', phases, {
194 'a|web/index.html': '<!DOCTYPE html><html><head>'
195 '<link rel="import" href="packages/polymer/polymer.html">'
196 '<link rel="import" href="packages/a/test2.html">'
197 '</head><body>'
198 '<script type="application/dart" src="b.dart"></script>',
199 'a|web/b.dart': _sampleInput('B', 'bar'),
200 'a|lib/test2.html': '<!DOCTYPE html><html><head>'
201 '<link rel="import" href="../../packages/polymer/polymer.html">'
202 '</head><body>'
203 '<polymer-element name="x-a">1'
204 '<script type="application/dart">'
205 '${_sampleInput("A", "foo")}</script>'
206 '</polymer-element></html>',
207 }, {
208 'a|web/index.html': '<!DOCTYPE html><html><head>'
209 '$COMPATIBILITY_JS_TAGS'
210 '</head><body>'
211 '<div hidden="">'
212 '<polymer-element name="x-a">1</polymer-element>'
213 '</div>'
214 '<script src="index.html.polymer.bootstrap.dart.js" async=""></script>'
215 '</body></html>',
216 'a|web/index.html.polymer.bootstrap.dart': '''$MAIN_HEADER
217 import 'index.web_components.bootstrap.dart' as i0;
218 ${DEFAULT_IMPORTS.join('\n')}
219 import 'package:polymer/polymer.dart' as smoke_0;
220 import 'index.html.0.dart' as smoke_1;
221 import 'b.dart' as smoke_2;
222
223 main() {
224 useGeneratedCode(new StaticConfiguration(
225 checkedMode: false,
226 parents: {
227 smoke_2.XB: smoke_0.PolymerElement,
228 smoke_1.XA: smoke_0.PolymerElement,
229 },
230 declarations: {
231 smoke_2.XB: {},
232 smoke_1.XA: {},
233 smoke_0.PolymerElement: {},
234 }));
235 configureForDeployment();
236 return i0.main();
237 }
238 '''.replaceAll('\n ', '\n'),
239 'a|web/index.web_components.bootstrap.dart': '''
240 import 'package:initialize/src/static_loader.dart';
241 import 'package:initialize/initialize.dart';
242 import 'index.bootstrap.dart' as i0;
243 import 'index.html.0.dart' as i1;
244 import 'package:polymer/polymer.dart' as i2;
245 import 'b.dart' as i3;
246
247 main() {
248 initializers.addAll([
249 new InitEntry(const i2.CustomTag('x-A'), i1.XA),
250 new InitEntry(const i2.CustomTag('x-B'), i3.XB),
251 ]);
252
253 return i0.main();
254 }
255 '''.replaceAll(' ', ''),
256 'a|web/index.bootstrap.dart': '''
257 library a.web.index_bootstrap_dart;
258
259 import 'index.html.0.dart' as i0;
260 import 'b.dart' as i1;
261
262 main() => i1.main();
263 '''.replaceAll(' ', ''),
264 'a|web/index.html.0.dart': _sampleOutput("A", "foo"),
265 }, []);
266
267 testPhases('test compatibility', phases, {
268 'a|test/test.html': '<!DOCTYPE html><html><head>'
269 '<link rel="x-dart-test" href="a.dart">'
270 '<script src="packages/test/dart.js"></script>',
271 'a|test/a.dart': _sampleInput('A', 'foo'),
272 }, {
273 'a|test/test.html': '<!DOCTYPE html><html><head>'
274 '$COMPATIBILITY_JS_TAGS'
275 '<link rel="x-dart-test" href="test.html.polymer.bootstrap.dart">'
276 '<script src="packages/test/dart.js"></script>'
277 '</head><body></body></html>',
278 }, []);
279 }
280
281 String _sampleInput(String className, String fieldName) => '''
282 library ${className}_$fieldName;
283 import 'package:observe/observe.dart';
284 import 'package:polymer/polymer.dart';
285
286 class $className extends Observable {
287 @observable int $fieldName;
288 $className(this.$fieldName);
289 }
290
291 @CustomTag('x-$className')
292 class X${className} extends PolymerElement {
293 X${className}.created() : super.created();
294 }
295 @initMethod m_$fieldName() {}
296 main() {}
297 ''';
298
299 String _sampleOutput(String className, String fieldName) {
300 var fieldReplacement = '@reflectable @observable '
301 'int get $fieldName => __\$$fieldName; '
302 'int __\$$fieldName; '
303 '@reflectable set $fieldName(int value) { '
304 '__\$$fieldName = notifyPropertyChange(#$fieldName, '
305 '__\$$fieldName, value); }';
306 return '''
307 library ${className}_$fieldName;
308 import 'package:observe/observe.dart';
309 import 'package:polymer/polymer.dart';
310
311 class $className extends ChangeNotifier {
312 $fieldReplacement
313 $className($fieldName) : __\$$fieldName = $fieldName;
314 }
315
316 @CustomTag('x-$className')
317 class X${className} extends PolymerElement {
318 X${className}.created() : super.created();
319 }
320 @initMethod m_$fieldName() {}
321 main() {}
322 ''';
323 }
OLDNEW
« no previous file with comments | « packages/polymer/test/bind_test.html ('k') | packages/polymer/test/build/build_log_combiner_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698