| OLD | NEW |
| 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("../../../css/css.dart"); | 5 #import("../../css/css.dart"); |
| 6 | 6 |
| 7 class ExpressionTest { | 7 class ExpressionTest { |
| 8 | 8 |
| 9 static testMain() { | 9 static testMain() { |
| 10 initCssWorld(); | 10 initCssWorld(); |
| 11 | 11 |
| 12 testClass(); | 12 testClass(); |
| 13 testId(); | 13 testId(); |
| 14 testElement(); | 14 testElement(); |
| 15 testNamespace(); | 15 testNamespace(); |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 50 stylesheet = parser.parse(); | 50 stylesheet = parser.parse(); |
| 51 Expect.isNotNull(stylesheet); | 51 Expect.isNotNull(stylesheet); |
| 52 Expect.equals(stylesheet.topLevels.length, 1); | 52 Expect.equals(stylesheet.topLevels.length, 1); |
| 53 | 53 |
| 54 Expect.isTrue(stylesheet.topLevels[0] is RuleSet); | 54 Expect.isTrue(stylesheet.topLevels[0] is RuleSet); |
| 55 ruleset = stylesheet.topLevels[0]; | 55 ruleset = stylesheet.topLevels[0]; |
| 56 Expect.equals(ruleset.selectorGroup.selectors.length, 1); | 56 Expect.equals(ruleset.selectorGroup.selectors.length, 1); |
| 57 Expect.equals(ruleset.declarationGroup.declarations.length, 0); | 57 Expect.equals(ruleset.declarationGroup.declarations.length, 0); |
| 58 | 58 |
| 59 simpleSeqs = ruleset.selectorGroup.selectors[0].simpleSelectorSequences; | 59 simpleSeqs = ruleset.selectorGroup.selectors[0].simpleSelectorSequences; |
| 60 | 60 |
| 61 var idx = 0; | 61 var idx = 0; |
| 62 for (final selector in simpleSeqs) { | 62 for (final selector in simpleSeqs) { |
| 63 final simpSelector = selector.simpleSelector; | 63 final simpSelector = selector.simpleSelector; |
| 64 if (idx == 0) { | 64 if (idx == 0) { |
| 65 Expect.isTrue(simpSelector is ClassSelector); | 65 Expect.isTrue(simpSelector is ClassSelector); |
| 66 Expect.isTrue(selector.isCombinatorNone()); | 66 Expect.isTrue(selector.isCombinatorNone()); |
| 67 Expect.equals(simpSelector.name, "foobar"); | 67 Expect.equals(simpSelector.name, "foobar"); |
| 68 } else if (idx == 1) { | 68 } else if (idx == 1) { |
| 69 Expect.isTrue(simpSelector is ClassSelector); | 69 Expect.isTrue(simpSelector is ClassSelector); |
| 70 Expect.isTrue(selector.isCombinatorDescendant()); | 70 Expect.isTrue(selector.isCombinatorDescendant()); |
| (...skipping 20 matching lines...) Expand all Loading... |
| 91 Expect.isNotNull(stylesheet); | 91 Expect.isNotNull(stylesheet); |
| 92 Expect.equals(stylesheet.topLevels.length, 1); | 92 Expect.equals(stylesheet.topLevels.length, 1); |
| 93 | 93 |
| 94 Expect.isTrue(stylesheet.topLevels[0] is RuleSet); | 94 Expect.isTrue(stylesheet.topLevels[0] is RuleSet); |
| 95 RuleSet ruleset = stylesheet.topLevels[0]; | 95 RuleSet ruleset = stylesheet.topLevels[0]; |
| 96 Expect.equals(ruleset.selectorGroup.selectors.length, 1); | 96 Expect.equals(ruleset.selectorGroup.selectors.length, 1); |
| 97 Expect.equals(ruleset.declarationGroup.declarations.length, 0); | 97 Expect.equals(ruleset.declarationGroup.declarations.length, 0); |
| 98 | 98 |
| 99 List<SimpleSelectorSequence> simpleSeqs = | 99 List<SimpleSelectorSequence> simpleSeqs = |
| 100 ruleset.selectorGroup.selectors[0].simpleSelectorSequences; | 100 ruleset.selectorGroup.selectors[0].simpleSelectorSequences; |
| 101 | 101 |
| 102 for (final selector in simpleSeqs) { | 102 for (final selector in simpleSeqs) { |
| 103 final simpSelector = selector.simpleSelector; | 103 final simpSelector = selector.simpleSelector; |
| 104 Expect.isTrue(simpSelector is IdSelector); | 104 Expect.isTrue(simpSelector is IdSelector); |
| 105 Expect.isTrue(selector.isCombinatorNone()); | 105 Expect.isTrue(selector.isCombinatorNone()); |
| 106 Expect.equals(simpSelector.name, "elemId"); | 106 Expect.equals(simpSelector.name, "elemId"); |
| 107 } | 107 } |
| 108 } | 108 } |
| 109 | 109 |
| 110 static void testElement() { | 110 static void testElement() { |
| 111 Parser parser = new Parser(new SourceFile( | 111 Parser parser = new Parser(new SourceFile( |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 153 Expect.isTrue(simpSelector is ElementSelector); | 153 Expect.isTrue(simpSelector is ElementSelector); |
| 154 Expect.isTrue(selector.isCombinatorDescendant()); | 154 Expect.isTrue(selector.isCombinatorDescendant()); |
| 155 Expect.equals(simpSelector.name, "div"); | 155 Expect.equals(simpSelector.name, "div"); |
| 156 } else if (idx == 2) { | 156 } else if (idx == 2) { |
| 157 Expect.isTrue(simpSelector is ElementSelector); | 157 Expect.isTrue(simpSelector is ElementSelector); |
| 158 Expect.isTrue(selector.isCombinatorDescendant()); | 158 Expect.isTrue(selector.isCombinatorDescendant()); |
| 159 Expect.equals(simpSelector.name, "span"); | 159 Expect.equals(simpSelector.name, "span"); |
| 160 } else { | 160 } else { |
| 161 Expect.fail("unexpected expression"); | 161 Expect.fail("unexpected expression"); |
| 162 } | 162 } |
| 163 | 163 |
| 164 idx++; | 164 idx++; |
| 165 } | 165 } |
| 166 Expect.equals(simpleSeqs.length, idx); | 166 Expect.equals(simpleSeqs.length, idx); |
| 167 } | 167 } |
| 168 | 168 |
| 169 static void testNamespace() { | 169 static void testNamespace() { |
| 170 Parser parser = new Parser(new SourceFile( | 170 Parser parser = new Parser(new SourceFile( |
| 171 SourceFile.IN_MEMORY_FILE, "ns1|div {}")); | 171 SourceFile.IN_MEMORY_FILE, "ns1|div {}")); |
| 172 Stylesheet stylesheet = parser.parse(); | 172 Stylesheet stylesheet = parser.parse(); |
| 173 Expect.isNotNull(stylesheet); | 173 Expect.isNotNull(stylesheet); |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 230 Expect.isTrue(elementSelector is ElementSelector); | 230 Expect.isTrue(elementSelector is ElementSelector); |
| 231 Expect.isFalse(elementSelector.isWildcard()); | 231 Expect.isFalse(elementSelector.isWildcard()); |
| 232 Expect.equals(elementSelector.name, "span"); | 232 Expect.equals(elementSelector.name, "span"); |
| 233 } else if (idx == 3) { | 233 } else if (idx == 3) { |
| 234 Expect.isTrue(simpSelector is ClassSelector); | 234 Expect.isTrue(simpSelector is ClassSelector); |
| 235 Expect.isTrue(selector.isCombinatorDescendant()); | 235 Expect.isTrue(selector.isCombinatorDescendant()); |
| 236 Expect.equals(simpSelector.name, "foobar"); | 236 Expect.equals(simpSelector.name, "foobar"); |
| 237 } else { | 237 } else { |
| 238 Expect.fail("unexpected expression"); | 238 Expect.fail("unexpected expression"); |
| 239 } | 239 } |
| 240 | 240 |
| 241 idx++; | 241 idx++; |
| 242 } | 242 } |
| 243 | 243 |
| 244 Expect.equals(simpleSeqs.length, idx); | 244 Expect.equals(simpleSeqs.length, idx); |
| 245 } | 245 } |
| 246 | 246 |
| 247 static void testSelectorGroups() { | 247 static void testSelectorGroups() { |
| 248 Parser parser = new Parser(new SourceFile( | 248 Parser parser = new Parser(new SourceFile( |
| 249 SourceFile.IN_MEMORY_FILE, | 249 SourceFile.IN_MEMORY_FILE, |
| 250 "div, .foobar ,#elemId, .xyzzy .test, ns1|div div #elemId .foobar {}")); | 250 "div, .foobar ,#elemId, .xyzzy .test, ns1|div div #elemId .foobar {}")); |
| (...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 409 stylesheet = parser.parse(); | 409 stylesheet = parser.parse(); |
| 410 Expect.isNotNull(stylesheet); | 410 Expect.isNotNull(stylesheet); |
| 411 Expect.equals(stylesheet.topLevels.length, 1); | 411 Expect.equals(stylesheet.topLevels.length, 1); |
| 412 | 412 |
| 413 Expect.isTrue(stylesheet.topLevels[0] is RuleSet); | 413 Expect.isTrue(stylesheet.topLevels[0] is RuleSet); |
| 414 ruleset = stylesheet.topLevels[0]; | 414 ruleset = stylesheet.topLevels[0]; |
| 415 Expect.equals(ruleset.selectorGroup.selectors.length, 1); | 415 Expect.equals(ruleset.selectorGroup.selectors.length, 1); |
| 416 Expect.equals(ruleset.declarationGroup.declarations.length, 0); | 416 Expect.equals(ruleset.declarationGroup.declarations.length, 0); |
| 417 | 417 |
| 418 simpleSeqs = ruleset.selectorGroup.selectors[0].simpleSelectorSequences; | 418 simpleSeqs = ruleset.selectorGroup.selectors[0].simpleSelectorSequences; |
| 419 | 419 |
| 420 Expect.equals(simpleSeqs.length, 2); | 420 Expect.equals(simpleSeqs.length, 2); |
| 421 var idx = 0; | 421 var idx = 0; |
| 422 for (final selector in simpleSeqs) { | 422 for (final selector in simpleSeqs) { |
| 423 final simpSelector = selector.simpleSelector; | 423 final simpSelector = selector.simpleSelector; |
| 424 if (idx == 0) { | 424 if (idx == 0) { |
| 425 Expect.isTrue(simpSelector is ElementSelector); | 425 Expect.isTrue(simpSelector is ElementSelector); |
| 426 Expect.isTrue(selector.isCombinatorNone()); | 426 Expect.isTrue(selector.isCombinatorNone()); |
| 427 Expect.isTrue(simpSelector.isWildcard()); | 427 Expect.isTrue(simpSelector.isWildcard()); |
| 428 Expect.equals(simpSelector.name, "*"); | 428 Expect.equals(simpSelector.name, "*"); |
| 429 } else if (idx == 1) { | 429 } else if (idx == 1) { |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 479 | 479 |
| 480 stylesheet = parser.parse(); | 480 stylesheet = parser.parse(); |
| 481 Expect.isNotNull(stylesheet); | 481 Expect.isNotNull(stylesheet); |
| 482 | 482 |
| 483 Expect.isTrue(stylesheet.topLevels[0] is RuleSet); | 483 Expect.isTrue(stylesheet.topLevels[0] is RuleSet); |
| 484 ruleset = stylesheet.topLevels[0]; | 484 ruleset = stylesheet.topLevels[0]; |
| 485 Expect.equals(ruleset.selectorGroup.selectors.length, 1); | 485 Expect.equals(ruleset.selectorGroup.selectors.length, 1); |
| 486 Expect.equals(ruleset.declarationGroup.declarations.length, 0); | 486 Expect.equals(ruleset.declarationGroup.declarations.length, 0); |
| 487 | 487 |
| 488 simpleSeqs = ruleset.selectorGroup.selectors[0].simpleSelectorSequences; | 488 simpleSeqs = ruleset.selectorGroup.selectors[0].simpleSelectorSequences; |
| 489 | 489 |
| 490 Expect.equals(simpleSeqs.length, 2); | 490 Expect.equals(simpleSeqs.length, 2); |
| 491 idx = 0; | 491 idx = 0; |
| 492 for (final selector in simpleSeqs) { | 492 for (final selector in simpleSeqs) { |
| 493 final simpSelector = selector.simpleSelector; | 493 final simpSelector = selector.simpleSelector; |
| 494 if (idx == 0) { | 494 if (idx == 0) { |
| 495 Expect.isTrue(simpSelector is NamespaceSelector); | 495 Expect.isTrue(simpSelector is NamespaceSelector); |
| 496 Expect.isTrue(selector.isCombinatorNone()); | 496 Expect.isTrue(selector.isCombinatorNone()); |
| 497 Expect.isTrue(simpSelector.isNamespaceWildcard()); | 497 Expect.isTrue(simpSelector.isNamespaceWildcard()); |
| 498 Expect.equals("*", simpSelector.namespace); | 498 Expect.equals("*", simpSelector.namespace); |
| 499 ElementSelector elementSelector = simpSelector.nameAsSimpleSelector; | 499 ElementSelector elementSelector = simpSelector.nameAsSimpleSelector; |
| (...skipping 23 matching lines...) Expand all Loading... |
| 523 static void testNegation() { | 523 static void testNegation() { |
| 524 // TODO(terry): Implement | 524 // TODO(terry): Implement |
| 525 } | 525 } |
| 526 | 526 |
| 527 } | 527 } |
| 528 | 528 |
| 529 | 529 |
| 530 main() { | 530 main() { |
| 531 ExpressionTest.testMain(); | 531 ExpressionTest.testMain(); |
| 532 } | 532 } |
| OLD | NEW |