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

Unified Diff: pkg/csslib/test/error_test.dart

Issue 814113004: Pull args, intl, logging, shelf, and source_maps out of the SDK. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Also csslib. Created 6 years 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/csslib/test/declaration_test.dart ('k') | pkg/csslib/test/extend_test.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/csslib/test/error_test.dart
diff --git a/pkg/csslib/test/error_test.dart b/pkg/csslib/test/error_test.dart
deleted file mode 100644
index f48906cd81cbb61ea97964b40ea5566dd6280ec5..0000000000000000000000000000000000000000
--- a/pkg/csslib/test/error_test.dart
+++ /dev/null
@@ -1,354 +0,0 @@
-// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-library error_test;
-
-import 'package:unittest/unittest.dart';
-import 'testing.dart';
-import 'package:csslib/src/messages.dart';
-
-/**
- * Test for unsupported font-weights values of bolder, lighter and inherit.
- */
-void testUnsupportedFontWeights() {
- var errors = [];
-
- // TODO(terry): Need to support bolder.
- // font-weight value bolder.
- var input = ".foobar { font-weight: bolder; }";
- var stylesheet = parseCss(input, errors: errors);
-
- expect(errors.isEmpty, false);
- expect(errors[0].toString(), r'''
-error on line 1, column 24: Unknown property value bolder
-.foobar { font-weight: bolder; }
- ^^^^^^''');
- expect(stylesheet != null, true);
-
- expect(prettyPrint(stylesheet), r'''
-.foobar {
- font-weight: bolder;
-}''');
-
- // TODO(terry): Need to support lighter.
- // font-weight value lighter.
- input = ".foobar { font-weight: lighter; }";
- stylesheet = parseCss(input, errors: errors..clear());
-
- expect(errors.isEmpty, false);
- expect(errors[0].toString(), r'''
-error on line 1, column 24: Unknown property value lighter
-.foobar { font-weight: lighter; }
- ^^^^^^^''');
- expect(stylesheet != null, true);
- expect(prettyPrint(stylesheet), r'''
-.foobar {
- font-weight: lighter;
-}''');
-
- // TODO(terry): Need to support inherit.
- // font-weight value inherit.
- input = ".foobar { font-weight: inherit; }";
- stylesheet = parseCss(input, errors: errors..clear());
-
- expect(errors.isEmpty, false);
- expect(errors[0].toString(), r'''
-error on line 1, column 24: Unknown property value inherit
-.foobar { font-weight: inherit; }
- ^^^^^^^''');
- expect(stylesheet != null, true);
- expect(prettyPrint(stylesheet), r'''
-.foobar {
- font-weight: inherit;
-}''');
-}
-
-/**
- * Test for unsupported line-height values of units other than px, pt and
- * inherit.
- */
-void testUnsupportedLineHeights() {
- var errors = [];
-
- // line-height value in percentge unit.
- var input = ".foobar { line-height: 120%; }";
- var stylesheet = parseCss(input, errors: errors);
-
- expect(errors.isEmpty, false);
- expect(errors[0].toString(), r'''
-error on line 1, column 24: Unexpected value for line-height
-.foobar { line-height: 120%; }
- ^^^''');
- expect(stylesheet != null, true);
- expect(prettyPrint(stylesheet), r'''
-.foobar {
- line-height: 120%;
-}''');
-
- // TODO(terry): Need to support all units.
- // line-height value in cm unit.
- input = ".foobar { line-height: 20cm; }";
- stylesheet = parseCss(input, errors: errors..clear());
-
- expect(errors.isEmpty, false);
- expect(errors[0].toString(), r'''
-error on line 1, column 24: Unexpected unit for line-height
-.foobar { line-height: 20cm; }
- ^^''');
- expect(stylesheet != null, true);
- expect(prettyPrint(stylesheet), r'''
-.foobar {
- line-height: 20cm;
-}''');
-
- // TODO(terry): Need to support inherit.
- // line-height value inherit.
- input = ".foobar { line-height: inherit; }";
- stylesheet = parseCss(input, errors: errors..clear());
-
- expect(errors.isEmpty, false);
- expect(errors[0].toString(), r'''
-error on line 1, column 24: Unknown property value inherit
-.foobar { line-height: inherit; }
- ^^^^^^^''');
- expect(stylesheet != null, true);
- expect(prettyPrint(stylesheet), r'''
-.foobar {
- line-height: inherit;
-}''');
-}
-
-/** Test for bad selectors. */
-void testBadSelectors() {
- var errors = [];
-
- // Invalid id selector.
- var input = "# foo { color: #ff00ff; }";
- var stylesheet = parseCss(input, errors: errors);
-
- expect(errors.isEmpty, false);
- expect(errors[0].toString(), r'''
-error on line 1, column 1: Not a valid ID selector expected #id
-# foo { color: #ff00ff; }
-^''');
- expect(stylesheet != null, true);
- expect(prettyPrint(stylesheet), r'''
-# foo {
- color: #f0f;
-}''');
-
- // Invalid class selector.
- input = ". foo { color: #ff00ff; }";
- stylesheet = parseCss(input, errors: errors..clear());
-
- expect(errors.isEmpty, false);
- expect(errors[0].toString(), r'''
-error on line 1, column 1: Not a valid class selector expected .className
-. foo { color: #ff00ff; }
-^''');
- expect(stylesheet != null, true);
- expect(prettyPrint(stylesheet), r'''
-. foo {
- color: #f0f;
-}''');
-}
-
-/** Test for bad hex values. */
-void testBadHexValues() {
- var errors = [];
-
- // Invalid hex value.
- var input = ".foobar { color: #AH787; }";
- var stylesheet = parseCss(input, errors: errors);
-
- expect(errors.isEmpty, false);
- expect(errors[0].toString(), r'''
-error on line 1, column 18: Bad hex number
-.foobar { color: #AH787; }
- ^^^^^^''');
- expect(stylesheet != null, true);
- expect(prettyPrint(stylesheet), r'''
-.foobar {
- color: #AH787;
-}''');
-
- // Bad color constant.
- input = ".foobar { color: redder; }";
- stylesheet = parseCss(input, errors: errors..clear());
-
- expect(errors.isEmpty, false);
- expect(errors[0].toString(), r'''
-error on line 1, column 18: Unknown property value redder
-.foobar { color: redder; }
- ^^^^^^''');
-
- expect(stylesheet != null, true);
- expect(prettyPrint(stylesheet), r'''
-.foobar {
- color: redder;
-}''');
-
- // Bad hex color #<space>ffffff.
- input = ".foobar { color: # ffffff; }";
- stylesheet = parseCss(input, errors: errors..clear());
-
- expect(errors.isEmpty, false);
- expect(errors[0].toString(), r'''
-error on line 1, column 18: Expected hex number
-.foobar { color: # ffffff; }
- ^''');
-
- expect(stylesheet != null, true);
- expect(prettyPrint(stylesheet), r'''
-.foobar {
- color: # ffffff;
-}''');
-
- // Bad hex color #<space>123fff.
- input = ".foobar { color: # 123fff; }";
- stylesheet = parseCss(input, errors: errors..clear());
-
- expect(errors.isEmpty, false);
- expect(errors[0].toString(), r'''
-error on line 1, column 18: Expected hex number
-.foobar { color: # 123fff; }
- ^''');
-
- expect(stylesheet != null, true);
-
- // Formating is off with an extra space. However, the entire value is bad
- // and isn't processed anyway.
- expect(prettyPrint(stylesheet), r'''
-.foobar {
- color: # 123 fff;
-}''');
-
-}
-
-void testBadUnicode() {
- var errors = [];
- final String input = '''
-@font-face {
- src: url(fonts/BBCBengali.ttf) format("opentype");
- unicode-range: U+400-200;
-}''';
-
- var stylesheet = parseCss(input, errors: errors);
-
- expect(errors.isEmpty, false);
- expect(errors[0].toString(),
- 'error on line 3, column 20: unicode first range can not be greater than '
- 'last\n'
- ' unicode-range: U+400-200;\n'
- ' ^^^^^^^');
-
- final String input2 = '''
-@font-face {
- src: url(fonts/BBCBengali.ttf) format("opentype");
- unicode-range: U+12FFFF;
-}''';
-
- stylesheet = parseCss(input2, errors: errors..clear());
-
- expect(errors.isEmpty, false);
- expect(errors[0].toString(),
- 'error on line 3, column 20: unicode range must be less than 10FFFF\n'
- ' unicode-range: U+12FFFF;\n'
- ' ^^^^^^');
-}
-
-void testBadNesting() {
- var errors = [];
-
- // Test for bad declaration in a nested rule.
- final String input = '''
-div {
- width: 20px;
- span + ul { color: blue; }
- span + ul > #aaaa {
- color: #ffghghgh;
- }
- background-color: red;
-}
-''';
-
- var stylesheet = parseCss(input, errors: errors);
- expect(errors.length, 1);
- var errorMessage = messages.messages[0];
- expect(errorMessage.message, contains('Bad hex number'));
- expect(errorMessage.span, isNotNull);
- expect(errorMessage.span.start.line, 4);
- expect(errorMessage.span.start.column, 11);
- expect(errorMessage.span.text, '#ffghghgh');
-
- // Test for bad selector syntax.
- final String input2 = '''
-div {
- span + ul #aaaa > (3333) {
- color: #ffghghgh;
- }
-}
-''';
- var stylesheet2 = parseCss(input2, errors: errors..clear());
- expect(errors.length, 4);
- errorMessage = messages.messages[0];
- expect(errorMessage.message, contains(':, but found +'));
- expect(errorMessage.span, isNotNull);
- expect(errorMessage.span.start.line, 1);
- expect(errorMessage.span.start.column, 7);
- expect(errorMessage.span.text, '+');
-
- errorMessage = messages.messages[1];
- expect(errorMessage.message, contains('Unknown property value ul'));
- expect(errorMessage.span, isNotNull);
- expect(errorMessage.span.start.line, 1);
- expect(errorMessage.span.start.column, 9);
- expect(errorMessage.span.text, 'ul');
-
- errorMessage = messages.messages[2];
- expect(errorMessage.message, contains('expected }, but found >'));
- expect(errorMessage.span, isNotNull);
- expect(errorMessage.span.start.line, 1);
- expect(errorMessage.span.start.column, 18);
- expect(errorMessage.span.text, '>');
-
- errorMessage = messages.messages[3];
- expect(errorMessage.message, contains('premature end of file unknown CSS'));
- expect(errorMessage.span, isNotNull);
- expect(errorMessage.span.start.line, 1);
- expect(errorMessage.span.start.column, 20);
- expect(errorMessage.span.text, '(');
-
- // Test for missing close braces and bad declaration.
- final String input3 = '''
-div {
- span {
- color: #green;
-}
-''';
- var stylesheet3 = parseCss(input3, errors: errors..clear());
- expect(errors.length, 2);
- errorMessage = messages.messages[0];
- expect(errorMessage.message, contains('Bad hex number'));
- expect(errorMessage.span, isNotNull);
- expect(errorMessage.span.start.line, 2);
- expect(errorMessage.span.start.column, 11);
- expect(errorMessage.span.text, '#green');
-
- errorMessage = messages.messages[1];
- expect(errorMessage.message, contains('expected }, but found end of file'));
- expect(errorMessage.span, isNotNull);
- expect(errorMessage.span.start.line, 3);
- expect(errorMessage.span.start.column, 1);
- expect(errorMessage.span.text, '\n');
-}
-
-main() {
- test('font-weight value errors', testUnsupportedFontWeights);
- test('line-height value errors', testUnsupportedLineHeights);
- test('bad selectors', testBadSelectors);
- test('bad Hex values', testBadHexValues);
- test('bad unicode ranges', testBadUnicode);
- test('nested rules', testBadNesting);
-}
« no previous file with comments | « pkg/csslib/test/declaration_test.dart ('k') | pkg/csslib/test/extend_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698