// =====================================================================
ValueConstraint listContains = new ValueConstraintMock(
"listContains", expectations);
Matcher attributeMatcher = new SimpleMatcherMock(
"attributeMatcher", expectations);
// =====================================================================
// Set Expectations
// =====================================================================
factoryMock.expects.createNamespaceMatcher("*").returns(null).any();
factoryMock.expects.createListContainsConstraint("b")
.returns(listContains);
factoryMock.expects.createAttributeMatcher(null, "class", listContains)
.returns(attributeMatcher);
// Set the expectations on the specificity calculator.
specificityCalculatorMock.expects.addClassSelector();
// =====================================================================
// Test Expectations
// =====================================================================
// CSS: *
UniversalSelector themeUniversal =
themeModelFactory.createUniversalSelector();
themeUniversal.setNamespacePrefix("*");
// CSS: .b
ClassSelector themeClassSelector =
themeModelFactory.createClassSelector("b");
List selectors = new ArrayList();
selectors.add(themeUniversal);
selectors.add(themeClassSelector);
// CSS: *.b
SelectorSequence themeSequence = createSelectorSequence(selectors);
MatcherBuilder builder = createMatcherBuilder();
Matcher matcher = builder.getMatcher(themeSequence);
assertSame("Universal selector combined with other selectors in a" +
"sequence has no impact on matching",
attributeMatcher, matcher);
}