summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorburaq <buraq@epfl.ch>2005-06-19 15:24:59 +0000
committerburaq <buraq@epfl.ch>2005-06-19 15:24:59 +0000
commit4eac31b0ff1e0ba29eb913bace8cd211d8646869 (patch)
tree87b3927ccc9ec1e277e1a8351f710a83597bacb2 /test
parent4824341905f1125639d52bbd295a31795a4b56d6 (diff)
downloadscala-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.check11
-rw-r--r--test/files/jvm/xmlstuff.scala37
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 );
+
}