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

Unified Diff: utils/css/validate.dart

Issue 9168008: Enabled CSS tests, added CSS tests to buildbot, fixed tooling with nodejs, and added more tests. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: More coding convention changes (consistency). Created 8 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « utils/css/uitest.dart ('k') | utils/tests/css/css.status » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: utils/css/validate.dart
diff --git a/utils/css/validate.dart b/utils/css/validate.dart
index b6874c1800b1616d7d7b98560220ca84ebb9ddb6..83b724008a7531a35761a7e0b0e58602fd43337c 100644
--- a/utils/css/validate.dart
+++ b/utils/css/validate.dart
@@ -7,7 +7,7 @@ class Validate {
if (selector.isCombinatorDescendant() ||
(selector.isCombinatorNone() && matches == 0)) {
if (matches < 0) {
- String tooMany = selector.toString();
+ String tooMany = selector.simpleSelector.toString();
throw new CssSelectorException(
'Can not mix Id selector with class selector(s). Id ' +
'selector must be singleton too many starting at $tooMany');
@@ -26,11 +26,11 @@ class Validate {
// Perfect just one element id returns matches of -1.
return -1;
} else if (selector.isCombinatorDescendant()) {
- String tooMany = selector.toString();
+ String tooMany = selector.simpleSelector.toString();
throw new CssSelectorException(
'Use of Id selector must be singleton starting at $tooMany');
} else {
- String error = selector.toString();
+ String error = selector.simpleSelector.toString();
throw new CssSelectorException(
'Selectors can not have combinators (>, +, or ~) before $error');
}
@@ -42,8 +42,12 @@ class Validate {
var errorSelector; // signal which selector didn't match.
bool found = false; // signal if a selector is matched.
int matches = 0; // < 0 IdSelectors, > 0 ClassSelector
- for (var sels in selectors) {
- for (var selector in sels.simpleSelectorSequences) {
+
+ // At most one selector group (any number of simple selector sequences).
+ assert(selectors.length <= 1);
+
+ for (final sels in selectors) {
+ for (final selector in sels.simpleSelectorSequences) {
found = false;
var simpleSelector = selector.simpleSelector;
if (simpleSelector is ClassSelector) {
@@ -53,13 +57,13 @@ class Validate {
// TODO(terry): For now iterate through all classes look for faster
// mechanism hash map, etc.
var className;
- for (var className in cssWorld.classes) {
+ for (final className in cssWorld.classes) {
if (selector.simpleSelector.name == className) {
matches = _classNameCheck(selector, matches);
found = true; // .class found.
break;
}
- for (var className2 in cssWorld.classes) {
+ for (final className2 in cssWorld.classes) {
print(className2);
}
}
@@ -75,7 +79,7 @@ class Validate {
// Any element id starting with an underscore is a private element id
// that doesn't have to match the world of known elemtn ids.
if (!simpleSelector.name.startsWith('_')) {
- for (var id in cssWorld.ids) {
+ for (final id in cssWorld.ids) {
if (simpleSelector.name == id) {
matches = _elementIdCheck(selector, matches);
found = true; // #id found.
@@ -84,8 +88,7 @@ class Validate {
}
} else {
// Don't check any element ID that is prefixed with an underscore.
- // However, signal as found and bump up matches; it's a valid element
- // ID.
+ // Signal as found and bump up matches; it's a valid element ID.
matches = _elementIdCheck(selector, matches);
found = true; // #_id are always okay
}
@@ -103,7 +106,8 @@ class Validate {
}
// Every selector must match.
- assert((matches >= 0 ? matches : -matches) == selectors.length);
+ assert((matches >= 0 ? matches : -matches) ==
+ selectors[0].simpleSelectorSequences.length);
}
}
« no previous file with comments | « utils/css/uitest.dart ('k') | utils/tests/css/css.status » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698