1 16 package scriptella.configuration; 17 18 import scriptella.AbstractTestCase; 19 import scriptella.spi.DialectIdentifier; 20 21 import java.util.List ; 22 import java.util.regex.Pattern ; 23 24 30 public class DialectBasedContentElTest extends AbstractTestCase { 31 32 35 public void test() { 36 String xml = "<query>" + 37 " \nDef1<!--Comment -->De<!--Comment2-->f2\n" + 38 "<dialect name=\"d1\">D<!--Comment-->1</dialect>" + 39 "<![CDATA[De]]>f3" + 40 "<dialect name=\"d2\"><!--Commend-->D2</dialect>" + 41 "<!--Comment-->\nDef4<!--Comment--> " + 42 "</query>"; 43 XmlElement xmlElement = XmlElementTest.asElement(xml); 44 DialectBasedContentEl d = new DialectBasedContentEl(xmlElement); 45 List <DialectBasedContentEl.Dialect> dialects = d.getDialects(); 46 assertEquals(5, dialects.size()); 47 DialectBasedContentEl.Dialect dialect = dialects.get(0); 48 assertEquals(" \nDef1Def2\n", asString(dialect.getContentEl())); 49 dialect = dialects.get(1); 50 assertEquals("D1", asString(dialect.getContentEl())); 51 assertTrue(dialect.getName().matcher("d1").matches()); 52 dialect = dialects.get(2); 53 assertEquals("Def3", asString(dialect.getContentEl())); 54 assertNull(dialect.getName()); 55 dialect = dialects.get(3); 56 assertEquals("D2", asString(dialect.getContentEl())); 57 assertTrue(dialect.getName().matcher("d2").matches()); 58 dialect = dialects.get(4); 59 assertEquals("\nDef4 ", asString(dialect.getContentEl())); 60 assertNull(dialect.getName()); 61 62 assertEquals(" \nDef1Def2\nDef3\nDef4 ", asString(d.getContent(null))); 64 assertEquals(" \nDef1Def2\nDef3\nDef4 ", asString(d.getContent(new DialectIdentifier("XDialect", "0.0")))); 65 assertEquals(" \nDef1Def2\nD1Def3\nDef4 ", asString(d.getContent(new DialectIdentifier("d1", "1.0")))); 66 assertEquals(" \nDef1Def2\nDef3D2\nDef4 ", asString(d.getContent(new DialectIdentifier("d2", "1.0")))); 67 } 68 69 72 public void testDialect() { 73 DialectBasedContentEl.Dialect d = new DialectBasedContentEl.Dialect(); 74 assertTrue(d.matches(null)); 76 assertTrue(d.matches(DialectIdentifier.NULL_DIALECT)); 77 d.setName(Pattern.compile(".*")); 78 assertTrue(d.matches(DialectIdentifier.NULL_DIALECT)); 79 d.setName(Pattern.compile("dl")); 80 assertFalse(d.matches(DialectIdentifier.NULL_DIALECT)); 81 } 82 83 } 84 | Popular Tags |