"E#myId { color: blue; }");
assertNotNull(rules);
assertEquals(1, rules.size());
// Validate single resulting ParsedCssRule
ParsedCssRule rule = rules.get(0);
assertNotNull(rule.getSelectors());
assertEquals(13, rule.getSelectors().size());
// Selectors should come back in the order parsed as well
// Shouldn't matter if they come out the way they went in
// ie. if they're normalized
assertEquals("*", rule.getSelectors().get(0));
assertEquals("E", rule.getSelectors().get(1));
assertTrue(rule.getSelectors().get(2).matches("E\\s+F"));
assertTrue(rule.getSelectors().get(3).matches("E\\s+>\\s+F"));
assertEquals("E:first-child", rule.getSelectors().get(4));
assertEquals("E:link", rule.getSelectors().get(5));
assertEquals("E:active", rule.getSelectors().get(6));
assertEquals("E:lang(c)", rule.getSelectors().get(7));
assertTrue(rule.getSelectors().get(8).matches("E\\s+\\+\\s+F"));
assertTrue(rule.getSelectors().get(9).matches("E\\[\\s*foo\\s*\\]"));
assertTrue(rule.getSelectors().get(10).matches(
"E\\[\\s*foo\\s*=\\s*[\"']warning[\"']\\s*\\]"));
assertEquals("DIV.blah", rule.getSelectors().get(11));
assertEquals("E#myId", rule.getSelectors().get(12));
// Declaration thrown in for good measure
assertNotNull(rule.getDeclarations());
assertEquals(1, rule.getDeclarations().size());
ParsedCssDeclaration decl = rule.getDeclarations().get(0);
assertEquals("color", decl.getName());
assertEquals("blue", decl.getValue());
}