diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/files/jvm/xmlstuff.check | 11 | ||||
-rw-r--r-- | test/files/jvm/xmlstuff.scala | 37 |
2 files changed, 46 insertions, 2 deletions
diff --git a/test/files/jvm/xmlstuff.check b/test/files/jvm/xmlstuff.check index 9803618268..7e88bb5c35 100644 --- a/test/files/jvm/xmlstuff.check +++ b/test/files/jvm/xmlstuff.check @@ -26,5 +26,14 @@ namespaces passed ok passed ok passed ok -validation +validation - elements +passed ok +passed ok +passed ok +passed ok +validation - attributes +passed ok +passed ok +passed ok +passed ok passed ok diff --git a/test/files/jvm/xmlstuff.scala b/test/files/jvm/xmlstuff.scala index 82d58a59a3..8f3520c109 100644 --- a/test/files/jvm/xmlstuff.scala +++ b/test/files/jvm/xmlstuff.scala @@ -157,7 +157,7 @@ DEPRECATED, don't support namespaces in pattern match anymore case _ => false; }); // end tmp */ - Console.println("validation"); + Console.println("validation - elements"); val vtor = new scala.xml.dtd.ElementValidator(); { import scala.xml.dtd.ELEMENTS; @@ -167,6 +167,41 @@ DEPRECATED, don't support namespaces in pattern match anymore Sequ( Letter(ElemName("bar")), Star(Letter(ElemName("baz"))) ))); + + } + assertEquals( vtor( <foo><bar/><baz/><baz/></foo> ), true ); + { + import scala.xml.dtd.MIXED; + import scala.xml.dtd.ContentModel._; + + vtor.setContentModel( + MIXED( + Alt(Letter(ElemName("bar")), + Letter(ElemName("baz")), + Letter(ElemName("bal"))))); } + assertEquals( vtor( <foo><bar/><baz/><baz/></foo> ), true ); + assertEquals( vtor( <foo>ab<bar/>cd<baz/>ed<baz/>gh</foo> ), true ); + assertEquals( vtor( <foo> <ugha/> <bugha/> </foo> ), false ); + + Console.println("validation - attributes"); + vtor.setContentModel(null); + vtor.setMetaData(List()); + assertEquals( vtor( <foo bar="hello"/> ), false ); + + { + import scala.xml.dtd._ ; + vtor.setMetaData(List(AttrDecl("bar","CDATA",IMPLIED))); + } + assertEquals( vtor( <foo href="http://foo.com" bar="hello"/> ), false ); + assertEquals( vtor( <foo bar="hello"/> ), true ); + + { + import scala.xml.dtd._ ; + vtor.setMetaData(List(AttrDecl("bar","CDATA",REQUIRED))); + } + assertEquals( vtor( <foo href="http://foo.com" /> ), false ); + assertEquals( vtor( <foo bar="http://foo.com" /> ), true ); + } |