From 4eac31b0ff1e0ba29eb913bace8cd211d8646869 Mon Sep 17 00:00:00 2001 From: buraq Date: Sun, 19 Jun 2005 15:24:59 +0000 Subject: 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 --- test/files/jvm/xmlstuff.check | 11 ++++++++++- test/files/jvm/xmlstuff.scala | 37 ++++++++++++++++++++++++++++++++++++- 2 files changed, 46 insertions(+), 2 deletions(-) (limited to 'test') 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( ), 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( ), true ); + assertEquals( vtor( abcdedgh ), true ); + assertEquals( vtor( ), false ); + + Console.println("validation - attributes"); + vtor.setContentModel(null); + vtor.setMetaData(List()); + assertEquals( vtor( ), false ); + + { + import scala.xml.dtd._ ; + vtor.setMetaData(List(AttrDecl("bar","CDATA",IMPLIED))); + } + assertEquals( vtor( ), false ); + assertEquals( vtor( ), true ); + + { + import scala.xml.dtd._ ; + vtor.setMetaData(List(AttrDecl("bar","CDATA",REQUIRED))); + } + assertEquals( vtor( ), false ); + assertEquals( vtor( ), true ); + } -- cgit v1.2.3