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

Side by Side Diff: test/error_test.dart

Issue 1009053006: pkg/csslib: remove unused vars and fields (Closed) Base URL: https://github.com/dart-lang/csslib@master
Patch Set: Created 5 years, 9 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 | « lib/src/tree_printer.dart ('k') | test/mixin_test.dart » ('j') | 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) 2013, the Dart project authors. Please see the AUTHORS file 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 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 library error_test; 5 library error_test;
6 6
7 import 'package:unittest/unittest.dart'; 7 import 'package:unittest/unittest.dart';
8 import 'testing.dart'; 8 import 'testing.dart';
9 import 'package:csslib/src/messages.dart'; 9 import 'package:csslib/src/messages.dart';
10 10
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 } 226 }
227 227
228 void testBadUnicode() { 228 void testBadUnicode() {
229 var errors = []; 229 var errors = [];
230 final String input = ''' 230 final String input = '''
231 @font-face { 231 @font-face {
232 src: url(fonts/BBCBengali.ttf) format("opentype"); 232 src: url(fonts/BBCBengali.ttf) format("opentype");
233 unicode-range: U+400-200; 233 unicode-range: U+400-200;
234 }'''; 234 }''';
235 235
236 var stylesheet = parseCss(input, errors: errors); 236 parseCss(input, errors: errors);
237 237
238 expect(errors.isEmpty, false); 238 expect(errors.isEmpty, false);
239 expect(errors[0].toString(), 239 expect(errors[0].toString(),
240 'error on line 3, column 20: unicode first range can not be greater than ' 240 'error on line 3, column 20: unicode first range can not be greater than '
241 'last\n' 241 'last\n'
242 ' unicode-range: U+400-200;\n' 242 ' unicode-range: U+400-200;\n'
243 ' ^^^^^^^'); 243 ' ^^^^^^^');
244 244
245 final String input2 = ''' 245 final String input2 = '''
246 @font-face { 246 @font-face {
247 src: url(fonts/BBCBengali.ttf) format("opentype"); 247 src: url(fonts/BBCBengali.ttf) format("opentype");
248 unicode-range: U+12FFFF; 248 unicode-range: U+12FFFF;
249 }'''; 249 }''';
250 250
251 stylesheet = parseCss(input2, errors: errors..clear()); 251 parseCss(input2, errors: errors..clear());
252 252
253 expect(errors.isEmpty, false); 253 expect(errors.isEmpty, false);
254 expect(errors[0].toString(), 254 expect(errors[0].toString(),
255 'error on line 3, column 20: unicode range must be less than 10FFFF\n' 255 'error on line 3, column 20: unicode range must be less than 10FFFF\n'
256 ' unicode-range: U+12FFFF;\n' 256 ' unicode-range: U+12FFFF;\n'
257 ' ^^^^^^'); 257 ' ^^^^^^');
258 } 258 }
259 259
260 void testBadNesting() { 260 void testBadNesting() {
261 var errors = []; 261 var errors = [];
262 262
263 // Test for bad declaration in a nested rule. 263 // Test for bad declaration in a nested rule.
264 final String input = ''' 264 final String input = '''
265 div { 265 div {
266 width: 20px; 266 width: 20px;
267 span + ul { color: blue; } 267 span + ul { color: blue; }
268 span + ul > #aaaa { 268 span + ul > #aaaa {
269 color: #ffghghgh; 269 color: #ffghghgh;
270 } 270 }
271 background-color: red; 271 background-color: red;
272 } 272 }
273 '''; 273 ''';
274 274
275 var stylesheet = parseCss(input, errors: errors); 275 parseCss(input, errors: errors);
276 expect(errors.length, 1); 276 expect(errors.length, 1);
277 var errorMessage = messages.messages[0]; 277 var errorMessage = messages.messages[0];
278 expect(errorMessage.message, contains('Bad hex number')); 278 expect(errorMessage.message, contains('Bad hex number'));
279 expect(errorMessage.span, isNotNull); 279 expect(errorMessage.span, isNotNull);
280 expect(errorMessage.span.start.line, 4); 280 expect(errorMessage.span.start.line, 4);
281 expect(errorMessage.span.start.column, 11); 281 expect(errorMessage.span.start.column, 11);
282 expect(errorMessage.span.text, '#ffghghgh'); 282 expect(errorMessage.span.text, '#ffghghgh');
283 283
284 // Test for bad selector syntax. 284 // Test for bad selector syntax.
285 final String input2 = ''' 285 final String input2 = '''
286 div { 286 div {
287 span + ul #aaaa > (3333) { 287 span + ul #aaaa > (3333) {
288 color: #ffghghgh; 288 color: #ffghghgh;
289 } 289 }
290 } 290 }
291 '''; 291 ''';
292 var stylesheet2 = parseCss(input2, errors: errors..clear()); 292 parseCss(input2, errors: errors..clear());
293 expect(errors.length, 4); 293 expect(errors.length, 4);
294 errorMessage = messages.messages[0]; 294 errorMessage = messages.messages[0];
295 expect(errorMessage.message, contains(':, but found +')); 295 expect(errorMessage.message, contains(':, but found +'));
296 expect(errorMessage.span, isNotNull); 296 expect(errorMessage.span, isNotNull);
297 expect(errorMessage.span.start.line, 1); 297 expect(errorMessage.span.start.line, 1);
298 expect(errorMessage.span.start.column, 7); 298 expect(errorMessage.span.start.column, 7);
299 expect(errorMessage.span.text, '+'); 299 expect(errorMessage.span.text, '+');
300 300
301 errorMessage = messages.messages[1]; 301 errorMessage = messages.messages[1];
302 expect(errorMessage.message, contains('Unknown property value ul')); 302 expect(errorMessage.message, contains('Unknown property value ul'));
(...skipping 16 matching lines...) Expand all
319 expect(errorMessage.span.start.column, 20); 319 expect(errorMessage.span.start.column, 20);
320 expect(errorMessage.span.text, '('); 320 expect(errorMessage.span.text, '(');
321 321
322 // Test for missing close braces and bad declaration. 322 // Test for missing close braces and bad declaration.
323 final String input3 = ''' 323 final String input3 = '''
324 div { 324 div {
325 span { 325 span {
326 color: #green; 326 color: #green;
327 } 327 }
328 '''; 328 ''';
329 var stylesheet3 = parseCss(input3, errors: errors..clear()); 329 parseCss(input3, errors: errors..clear());
330 expect(errors.length, 2); 330 expect(errors.length, 2);
331 errorMessage = messages.messages[0]; 331 errorMessage = messages.messages[0];
332 expect(errorMessage.message, contains('Bad hex number')); 332 expect(errorMessage.message, contains('Bad hex number'));
333 expect(errorMessage.span, isNotNull); 333 expect(errorMessage.span, isNotNull);
334 expect(errorMessage.span.start.line, 2); 334 expect(errorMessage.span.start.line, 2);
335 expect(errorMessage.span.start.column, 11); 335 expect(errorMessage.span.start.column, 11);
336 expect(errorMessage.span.text, '#green'); 336 expect(errorMessage.span.text, '#green');
337 337
338 errorMessage = messages.messages[1]; 338 errorMessage = messages.messages[1];
339 expect(errorMessage.message, contains('expected }, but found end of file')); 339 expect(errorMessage.message, contains('expected }, but found end of file'));
340 expect(errorMessage.span, isNotNull); 340 expect(errorMessage.span, isNotNull);
341 expect(errorMessage.span.start.line, 3); 341 expect(errorMessage.span.start.line, 3);
342 expect(errorMessage.span.start.column, 1); 342 expect(errorMessage.span.start.column, 1);
343 expect(errorMessage.span.text, '\n'); 343 expect(errorMessage.span.text, '\n');
344 } 344 }
345 345
346 main() { 346 main() {
347 test('font-weight value errors', testUnsupportedFontWeights); 347 test('font-weight value errors', testUnsupportedFontWeights);
348 test('line-height value errors', testUnsupportedLineHeights); 348 test('line-height value errors', testUnsupportedLineHeights);
349 test('bad selectors', testBadSelectors); 349 test('bad selectors', testBadSelectors);
350 test('bad Hex values', testBadHexValues); 350 test('bad Hex values', testBadHexValues);
351 test('bad unicode ranges', testBadUnicode); 351 test('bad unicode ranges', testBadUnicode);
352 test('nested rules', testBadNesting); 352 test('nested rules', testBadNesting);
353 } 353 }
OLDNEW
« no previous file with comments | « lib/src/tree_printer.dart ('k') | test/mixin_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698