diff options
author | buraq <buraq@epfl.ch> | 2005-06-19 15:24:59 +0000 |
---|---|---|
committer | buraq <buraq@epfl.ch> | 2005-06-19 15:24:59 +0000 |
commit | 4eac31b0ff1e0ba29eb913bace8cd211d8646869 (patch) | |
tree | 87b3927ccc9ec1e277e1a8351f710a83597bacb2 /test | |
parent | 4824341905f1125639d52bbd295a31795a4b56d6 (diff) | |
download | scala-4eac31b0ff1e0ba29eb913bace8cd211d8646869.tar.gz scala-4eac31b0ff1e0ba29eb913bace8cd211d8646869.tar.bz2 scala-4eac31b0ff1e0ba29eb913bace8cd211d8646869.zip |
added attribute validation in scala.xml.dtd.Ele...
added attribute validation in scala.xml.dtd.ElementValidator
changed comment in Node::$typeTag
fixed bug in MetaData::elements, was forgetting first element :-o
added testcases for element and attribute validation
refined error message in MarkupParser when encountering unexpected
character
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 ); + } |