}
@Test
public void testDirectionParsing() throws IOException, SAXException {
Reader reader;
UrlRewriteRulesDescriptor config;
reader = new StringReader( "<rules><rule dir=\"request\"></rule></rules>" );
config = digester.parse( reader );
assertThat( config.getRules().get( 0 ).directions(), contains( UrlRewriter.Direction.IN ) );
reader = new StringReader( "<rules><rule dir=\"Request\"></rule></rules>" );
config = digester.parse( reader );
assertThat( config.getRules().get( 0 ).directions(), contains( UrlRewriter.Direction.IN ) );
reader = new StringReader( "<rules><rule dir=\"in\"></rule></rules>" );
config = digester.parse( reader );
assertThat( config.getRules().get( 0 ).directions(), contains( UrlRewriter.Direction.IN ) );
reader = new StringReader( "<rules><rule dir=\"req\"></rule></rules>" );
config = digester.parse( reader );
assertThat( config.getRules().get( 0 ).directions(), contains( UrlRewriter.Direction.IN ) );
reader = new StringReader( "<rules><rule dir=\"Req\"></rule></rules>" );
config = digester.parse( reader );
assertThat( config.getRules().get( 0 ).directions(), contains( UrlRewriter.Direction.IN ) );
reader = new StringReader( "<rules><rule dir=\"REQ\"></rule></rules>" );
config = digester.parse( reader );
assertThat( config.getRules().get( 0 ).directions(), contains( UrlRewriter.Direction.IN ) );
reader = new StringReader( "<rules><rule dir=\"inbound\"></rule></rules>" );
config = digester.parse( reader );
assertThat( config.getRules().get( 0 ).directions(), contains( UrlRewriter.Direction.IN ) );
reader = new StringReader( "<rules><rule dir=\"Inbound\"></rule></rules>" );
config = digester.parse( reader );
assertThat( config.getRules().get( 0 ).directions(), contains( UrlRewriter.Direction.IN ) );
reader = new StringReader( "<rules><rule dir=\"INBOUND\"></rule></rules>" );
config = digester.parse( reader );
assertThat( config.getRules().get( 0 ).directions(), contains( UrlRewriter.Direction.IN ) );
reader = new StringReader( "<rules><rule dir=\"in\"></rule></rules>" );
config = digester.parse( reader );
assertThat( config.getRules().get( 0 ).directions(), contains( UrlRewriter.Direction.IN ) );
reader = new StringReader( "<rules><rule dir=\"In\"></rule></rules>" );
config = digester.parse( reader );
assertThat( config.getRules().get( 0 ).directions(), contains( UrlRewriter.Direction.IN ) );
reader = new StringReader( "<rules><rule dir=\"IN\"></rule></rules>" );
config = digester.parse( reader );
assertThat( config.getRules().get( 0 ).directions(), contains( UrlRewriter.Direction.IN ) );
reader = new StringReader( "<rules><rule dir=\"i\"></rule></rules>" );
config = digester.parse( reader );
assertThat( config.getRules().get( 0 ).directions(), contains( UrlRewriter.Direction.IN ) );
reader = new StringReader( "<rules><rule dir=\"I\"></rule></rules>" );
config = digester.parse( reader );
assertThat( config.getRules().get( 0 ).directions(), contains( UrlRewriter.Direction.IN ) );
reader = new StringReader( "<rules><rule dir=\"response\"></rule></rules>" );
config = digester.parse( reader );
assertThat( config.getRules().get( 0 ).directions(), contains( UrlRewriter.Direction.OUT ) );
reader = new StringReader( "<rules><rule dir=\"Response\"></rule></rules>" );
config = digester.parse( reader );
assertThat( config.getRules().get( 0 ).directions(), contains( UrlRewriter.Direction.OUT ) );
reader = new StringReader( "<rules><rule dir=\"out\"></rule></rules>" );
config = digester.parse( reader );
assertThat( config.getRules().get( 0 ).directions(), contains( UrlRewriter.Direction.OUT ) );
reader = new StringReader( "<rules><rule dir=\"res\"></rule></rules>" );
config = digester.parse( reader );
assertThat( config.getRules().get( 0 ).directions(), contains( UrlRewriter.Direction.OUT ) );
reader = new StringReader( "<rules><rule dir=\"Res\"></rule></rules>" );
config = digester.parse( reader );
assertThat( config.getRules().get( 0 ).directions(), contains( UrlRewriter.Direction.OUT ) );
reader = new StringReader( "<rules><rule dir=\"RES\"></rule></rules>" );
config = digester.parse( reader );
assertThat( config.getRules().get( 0 ).directions(), contains( UrlRewriter.Direction.OUT ) );
reader = new StringReader( "<rules><rule dir=\"outbound\"></rule></rules>" );
config = digester.parse( reader );
assertThat( config.getRules().get( 0 ).directions(), contains( UrlRewriter.Direction.OUT ) );
reader = new StringReader( "<rules><rule dir=\"Outbound\"></rule></rules>" );
config = digester.parse( reader );
assertThat( config.getRules().get( 0 ).directions(), contains( UrlRewriter.Direction.OUT ) );
reader = new StringReader( "<rules><rule dir=\"OUTBOUND\"></rule></rules>" );
config = digester.parse( reader );
assertThat( config.getRules().get( 0 ).directions(), contains( UrlRewriter.Direction.OUT ) );
reader = new StringReader( "<rules><rule dir=\"out\"></rule></rules>" );
config = digester.parse( reader );
assertThat( config.getRules().get( 0 ).directions(), contains( UrlRewriter.Direction.OUT ) );
reader = new StringReader( "<rules><rule dir=\"Out\"></rule></rules>" );
config = digester.parse( reader );
assertThat( config.getRules().get( 0 ).directions(), contains( UrlRewriter.Direction.OUT ) );
reader = new StringReader( "<rules><rule dir=\"OUT\"></rule></rules>" );
config = digester.parse( reader );
assertThat( config.getRules().get( 0 ).directions(), contains( UrlRewriter.Direction.OUT ) );
reader = new StringReader( "<rules><rule dir=\"o\"></rule></rules>" );
config = digester.parse( reader );
assertThat( config.getRules().get( 0 ).directions(), contains( UrlRewriter.Direction.OUT ) );
reader = new StringReader( "<rules><rule dir=\"O\"></rule></rules>" );
config = digester.parse( reader );
assertThat( config.getRules().get( 0 ).directions(), contains( UrlRewriter.Direction.OUT ) );
reader = new StringReader( "<rules><rule dir=\"request,response\"></rule></rules>" );
config = digester.parse( reader );
assertThat( config.getRules().get( 0 ).directions(), hasItem( UrlRewriter.Direction.IN ) );
assertThat( config.getRules().get( 0 ).directions(), hasItem( UrlRewriter.Direction.OUT ) );
}