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

Side by Side Diff: utils/template/uitest.dart

Issue 10399010: Fixed breakage in template utility now that statics aren't inherited. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Fix to calculator and template UI tests. Created 8 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « utils/template/tokenizer_base.dart ('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) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, 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 4
5 #import('dart:html'); 5 #import('dart:html');
6 #import('template.dart'); 6 #import('template.dart');
7 #import('../lib/file_system_memory.dart'); 7 #import('../lib/file_system_memory.dart');
8 8
9 String currSampleTemplate; 9 String currSampleTemplate;
10 10
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 <span>-</span> 102 <span>-</span>
103 <span>\${age}</span> 103 <span>\${age}</span>
104 </div> 104 </div>
105 ${endWith} 105 ${endWith}
106 </h1> 106 </h1>
107 </span> 107 </span>
108 </div> 108 </div>
109 } 109 }
110 '''; 110 ''';
111 111
112 final String complexTemplate = ''' 112 final String complexTemplate = '''
jacob314 2012/05/14 19:50:24 I think @''' will let you specify a string literal
113 template ProductsForPerson(Person person, var products) { 113 template ProductsForPerson(Person person, var products) {
114 <div> 114 <div>
115 ${with} person} 115 ${with} person person}
116 <div> 116 <div>
117 <span>\${name}</span> 117 <span>\${person.name}</span>
118 <span>-</span> 118 <span>-</span>
119 <span>\${age}</span> 119 <span>\${person.age}</span>
120 </div> 120 </div>
121 ${each} products} 121 ${each} products product}
122 <div> 122 <div>
123 <span>product=\${name},users=\${users}</span> 123 <span>product=\${product.name},users=\${product.users}</span>
124 </div> 124 </div>
125 ${endEach} 125 ${endEach}
126 ${endWith} 126 ${endWith}
127 </div> 127 </div>
128 } 128 }
129 '''; 129 ''';
130 130
131 final String complexTemplate2 = ''' 131 final String complexTemplate2 = '''
132 template ProductsForPerson(Person person, var products) { 132 template ProductsForPerson(Person person, var products) {
133 <div> 133 <div>
134 ${with} person} 134 ${with} person person}
135 <div> 135 <div>
136 <span>\${name}</span> 136 <span>\${person.name}</span>
137 <span>-</span> 137 <span>-</span>
138 <span>\${age}</span> 138 <span>\${person.age}</span>
139 </div> 139 </div>
140 <div> 140 <div>
141 ${each} products} 141 ${each} products product}
142 <span>product=\${name},users=\${users}</span> 142 <span>product=\${product.name},users=\${product.users}</span>
143 ${endEach} 143 ${endEach}
144 </div> 144 </div>
145 ${endWith} 145 ${endWith}
146 </div> 146 </div>
147 } 147 }
148 '''; 148 ''';
149 149
150 final String complexTemplate3 = ''' 150 final String complexTemplate3 = '''
151 template ProductsForPerson(Person person, var products) { 151 template ProductsForPerson(Person person, var products) {
152 css { 152 css {
153 .sales-item { 153 .sales-item {
154 font-family: arial; 154 font-family: arial;
155 background-color: lightgray; 155 background-color: lightgray;
156 margin-left: 10px; 156 margin-left: 10px;
157 border-bottom: 1px solid white; 157 border-bottom: 1px solid white;
158 } 158 }
159 .ytd-sales { 159 .ytd-sales {
160 position: absolute; 160 position: absolute;
161 left: 100px; 161 left: 100px;
162 } 162 }
163 } 163 }
164 <div> 164 <div>
165 ${with} person} 165 ${with} person person}
166 <div> 166 <div>
167 <span>\${name}</span> 167 <span>\${person.name}</span>
168 <span>-</span> 168 <span>-</span>
169 <span>\${age}</span> 169 <span>\${person.age}</span>
170 </div> 170 </div>
171 <div> 171 <div>
172 ${each} products} 172 ${each} products product}
173 <div>product=\${name},users=\${users}</div> 173 <div>product=\${product.name},users=\${product.users}</div>
174 ${each} products.sales} 174 ${each} products.sales sale}
175 <div class="sales-item"> 175 <div class="sales-item">
176 <span>\${country}</span> 176 <span>\${sale.country}</span>
177 <span class="ytd-sales">\\\$\${yearly}</span> 177 <span class="ytd-sales">\\\$\${sale.yearly}</span>
178 </div> 178 </div>
179 ${endEach} 179 ${endEach}
180 ${endEach} 180 ${endEach}
181 </div> 181 </div>
182 ${endWith} 182 ${endWith}
183 </div> 183 </div>
184 } 184 }
185 185
186 186
187 template NameEntry(String name, int age) { 187 template NameEntry(String name, int age) {
188 css { 188 css {
189 .name-item { 189 .name-item {
190 font-size: 18pt; 190 font-size: 18pt;
191 font-weight: bold; 191 font-weight: bold;
192 } 192 }
193 } 193 }
194 <div var=topDiv class="name-item" attr="test" attr1=test1 attr2='test2' attr3= test3> 194 <div var=topDiv class="name-item" attr="test" attr1=test1 attr2='test2' attr3= test3>
195 <span var=spanElem>\${name}</span> 195 <span var=spanElem>\${name}</span>
196 <span> - </span> 196 <span> - </span>
197 <span>\${age}</span> 197 <span>\${age}</span>
198 </div> 198 </div>
199 } 199 }
200 '''; 200 ''';
201 201
202 // Test #each in a #each where the nested #each is a top-level child of the 202 // Test #each in a #each where the nested #each is a top-level child of the
203 // outer #each. 203 // outer #each.
204 final String complexTemplate4 = ''' 204 final String complexTemplate4 = '''
205 template DivisionSales(var divisions) { 205 template DivisionSales(var divisions) {
206 <div> 206 <div>
207 \${#each divisions} 207 \${#each divisions division}
208 <div> 208 <div>
209 <span>\${name}</span> 209 <span>\${division.name}</span>
210 <span>-</span> 210 <span>-</span>
211 <span>\${id}</span> 211 <span>\${division.id}</span>
212 </div> 212 </div>
213 <div> 213 <div>
214 \${#each divisions.products} 214 \${#each divisions.products divProduct}
215 <div> 215 <div>
216 <span var=productItem>&#9654;</span> 216 <span var=productItem>&#9654;</span>
217 <span>Product</span> 217 <span>Product</span>
218 <span>\${name}</span> 218 <span>\${divProduct.name}</span>
219 <span>\${users}&nbsp;users</span> 219 <span>\${divProduct.users}&nbsp;users</span>
220 </div> 220 </div>
221 \${#each products.sales} 221 \${#each products.sales sale}
222 <div> 222 <div>
223 <span>\${country}</span> 223 <span>\${sale.country}</span>
224 <span>\\\$\${yearly}</span> 224 <span>\\\$\${sale.yearly}</span>
225 </div> 225 </div>
226 \${/each} 226 \${/each}
227 \${/each} 227 \${/each}
228 </div> 228 </div>
229 \${/each} 229 \${/each}
230 </div> 230 </div>
231 } 231 }
232 '''; 232 ''';
233 233
234 234
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
288 border-top: 1px solid white; 288 border-top: 1px solid white;
289 line-height: 18pt; 289 line-height: 18pt;
290 padding-left: 5px; 290 padding-left: 5px;
291 } 291 }
292 .ytd-sales { 292 .ytd-sales {
293 position: absolute; 293 position: absolute;
294 left: 100px; 294 left: 100px;
295 } 295 }
296 } 296 }
297 <div> 297 <div>
298 \${#each divisions} 298 \${#each divisions division}
299 <div class="division-item"> 299 <div class="division-item">
300 <span>\${name}</span> 300 <span>\${division.name}</span>
301 <span>-</span> 301 <span>-</span>
302 <span>\${id}</span> 302 <span>\${division.id}</span>
303 </div> 303 </div>
304 <div> 304 <div>
305 \${#each divisions.products} 305 \${#each divisions.products divProduct}
306 <div class="product-item"> 306 <div class="product-item">
307 <span var=productZippy class="expand-collapse expand">&#9660;</span> 307 <span var=productZippy class="expand-collapse expand">&#9660;</span>
308 <span class='product-title'>Product</span> 308 <span class='product-title'>Product</span>
309 <span class="product-name">\${name}</span> 309 <span class="product-name">\${divProduct.name}</span>
310 <span class="product-users" align=right>\${users}&nbsp;users</span> 310 <span class="product-users" align=right>\${divProduct.users
311 }&nbsp;users</span>
311 <div class="show-sales"> 312 <div class="show-sales">
312 \${#each products.sales} 313 \${#each products.sales sale}
313 <div class="sales-item"> 314 <div class="sales-item">
314 <span>\${country}</span> 315 <span>\${sale.country}</span>
315 <span class="ytd-sales">\\\$\${yearly}</span> 316 <span class="ytd-sales">\\\$\${sale.yearly}</span>
316 </div> 317 </div>
317 \${/each} 318 \${/each}
318 </div> 319 </div>
319 </div> 320 </div>
320 \${/each} 321 \${/each}
321 </div> 322 </div>
322 \${/each} 323 \${/each}
323 </div> 324 </div>
324 } 325 }
325 326
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
388 } 389 }
389 390
390 // Generate the Dart class(es) for all template(s). 391 // Generate the Dart class(es) for all template(s).
391 // Pass in filename of 'foo' for testing in UITest. 392 // Pass in filename of 'foo' for testing in UITest.
392 code.add(Codegen.generate(templates, 'foo')); 393 code.add(Codegen.generate(templates, 'foo'));
393 } catch (final htmlException) { 394 } catch (final htmlException) {
394 // TODO(terry): TBD 395 // TODO(terry): TBD
395 print("ERROR unhandled EXCEPTION"); 396 print("ERROR unhandled EXCEPTION");
396 } 397 }
397 } 398 }
398 399
399 /* 400 /*
400 if (!debug) { 401 if (!debug) {
401 try { 402 try {
402 cssParseAndValidate(cssExpr, cssWorld); 403 cssParseAndValidate(cssExpr, cssWorld);
403 } catch (final cssException) { 404 } catch (final cssException) {
404 templateValid = false; 405 templateValid = false;
405 dumpTree = cssException.toString(); 406 dumpTree = cssException.toString();
406 } 407 }
407 } else if (parseOnly) { 408 } else if (parseOnly) {
408 try { 409 try {
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
563 initHtmlWorld(false); 564 initHtmlWorld(false);
564 565
565 // Don't display any colors in the UI. 566 // Don't display any colors in the UI.
566 options.useColors = false; 567 options.useColors = false;
567 568
568 // Replace error handler bring up alert for any problems. 569 // Replace error handler bring up alert for any problems.
569 world.printHandler = (String msg) { 570 world.printHandler = (String msg) {
570 window.alert(msg); 571 window.alert(msg);
571 }; 572 };
572 } 573 }
OLDNEW
« no previous file with comments | « utils/template/tokenizer_base.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698