@Test
public void testMatchParsing() throws IOException, SAXException {
Reader reader;
UrlRewriteRulesDescriptor config;
UrlRewriteRuleDescriptor rule;
UrlRewriteMatchDescriptorExt match;
List<? extends UrlRewriteStepDescriptor> steps;
reader = new StringReader( "<rules><rule><match></match></rule></rules>" );
config = digester.parse( reader );
assertThat( config, notNullValue() );
assertThat( config.getRules(), notNullValue() );
assertThat( config.getRules().size(), is( 1 ) );
rule = config.getRules().get( 0 );
assertThat( rule.steps(), notNullValue() );
assertThat( rule.steps().size(), is( 1 ) );
match = (UrlRewriteMatchDescriptorExt)rule.steps().get( 0 );
assertThat( match, notNullValue() );
//assertThat( match.type(), nullValue() );
assertThat( match.operation(), nullValue() );
assertThat( match.pattern(), nullValue() );
reader = new StringReader( "<rules><rule><match type=\"test-type\" op=\"test-op\" pattern=\"test-pattern\"></match></rule></rules>" );
config = digester.parse( reader );
match = (UrlRewriteMatchDescriptorExt)config.getRules().get( 0 ).steps().get( 0 );
//assertThat( match.type(), is("test-type") );
assertThat( match.operation(), is( "test-op" ) );
assertThat( match.pattern(), is( "test-pattern" ) );
reader = new StringReader( "<rules><rule name=\"test\"><match><match pattern=\"test-pattern\"></match></match></rule></rules>" );
config = digester.parse( reader );
steps = ((UrlRewriteMatchDescriptor)config.getRule( "test" ).steps().get( 0 )).steps();
assertThat( steps, notNullValue() );
assertThat( steps.size(), is( 1 ) );
assertThat( steps.get( 0 ), notNullValue() );
match = (UrlRewriteMatchDescriptorExt)steps.get( 0 );
assertThat( match.pattern(), is( "test-pattern" ) );
}