diff options
author | Burak Emir <emir@epfl.ch> | 2006-10-14 13:31:12 +0000 |
---|---|---|
committer | Burak Emir <emir@epfl.ch> | 2006-10-14 13:31:12 +0000 |
commit | 470f990722777041a475de2e5cf02ca4504a2237 (patch) | |
tree | 4527d5a708f563c53ffcc1e37f908c76062cd201 /test | |
parent | f1208fc000438bb03bbb18011659dd4ca25d1127 (diff) | |
download | scala-470f990722777041a475de2e5cf02ca4504a2237.tar.gz scala-470f990722777041a475de2e5cf02ca4504a2237.tar.bz2 scala-470f990722777041a475de2e5cf02ca4504a2237.zip |
xml improvements for 2.2.1 (see changes)
Diffstat (limited to 'test')
-rw-r--r-- | test/files/jvm/xml01.check | 3 | ||||
-rw-r--r-- | test/files/jvm/xml01.scala | 9 | ||||
-rw-r--r-- | test/files/jvm/xml02.scala | 3 | ||||
-rw-r--r-- | test/files/jvm/xmlattr.check | 2 | ||||
-rw-r--r-- | test/files/jvm/xmlattr.scala | 6 | ||||
-rw-r--r-- | test/files/run/unittest_xml.scala | 55 |
6 files changed, 77 insertions, 1 deletions
diff --git a/test/files/jvm/xml01.check b/test/files/jvm/xml01.check index 5e9ee2aed0..2a8d2e5625 100644 --- a/test/files/jvm/xml01.check +++ b/test/files/jvm/xml01.check @@ -22,6 +22,9 @@ passed ok -- group nodes <f><a></a><b></b><c></c></f> <a></a><f><a></a><b></b><c></c></f><a></a><b></b><c></c> +passed ok +passed ok +passed ok attribute value normalization passed ok passed ok diff --git a/test/files/jvm/xml01.scala b/test/files/jvm/xml01.scala index 3558d95100..8c99cfd358 100644 --- a/test/files/jvm/xml01.scala +++ b/test/files/jvm/xml01.scala @@ -189,6 +189,15 @@ object Test { val zx2: Node = Group { List(<a/>,zy1,zx1) } Console println zx2.toString() + val zz1 = <xml:group><a/><b/><c/></xml:group> + + assertTrue(zx1 == zz1) + assertTrue(zz1.length == 3) + + // unparsed + + val uup = <xml:unparsed>&<<>""^%@$!#</xml:unparsed> + assertTrue(uup == "&<<>\"\"^%@$!#") // test unicode escapes backslash u Console println ("attribute value normalization"); diff --git a/test/files/jvm/xml02.scala b/test/files/jvm/xml02.scala index cbc9b5041b..d0d97e64eb 100644 --- a/test/files/jvm/xml02.scala +++ b/test/files/jvm/xml02.scala @@ -21,7 +21,8 @@ def main(args:Array[String]) = { Console.println("three"); assertEquals(bx \ "@foo", "bar&x") Console.println("four"); - assertSameElements(bx \ "@foo", List(xml.Text("bar"),xml.EntityRef("amp"),xml.Text("x"))) + assertSameElements(bx \ "@foo", List(xml.Text("bar&x"))) + //assertSameElements(bx \ "@foo", List(xml.Text("bar"),xml.EntityRef("amp"),xml.Text("x"))) Console.println("five"); assertEquals(bx.toString, "<hello foo=\"bar&x\"></hello>") diff --git a/test/files/jvm/xmlattr.check b/test/files/jvm/xmlattr.check index a1841a78ef..bebcb45081 100644 --- a/test/files/jvm/xmlattr.check +++ b/test/files/jvm/xmlattr.check @@ -8,3 +8,5 @@ true None null +<b x="&"></b> +<b x="&"></b> diff --git a/test/files/jvm/xmlattr.scala b/test/files/jvm/xmlattr.scala index 9801e05357..c34f66eafc 100644 --- a/test/files/jvm/xmlattr.scala +++ b/test/files/jvm/xmlattr.scala @@ -20,4 +20,10 @@ object Test extends Application { Console.println(x.get("foo")) // None Console.println(x("foo")) // null } + + val x1 = <b x="&"/> + val x2 = <b x={"&"}/> + Console.println(x1) + Console.println(x2) + } diff --git a/test/files/run/unittest_xml.scala b/test/files/run/unittest_xml.scala new file mode 100644 index 0000000000..5f7c523996 --- /dev/null +++ b/test/files/run/unittest_xml.scala @@ -0,0 +1,55 @@ + +object Test { + + import scala.testing.SUnit._ + import scala.xml.{MetaData, Null, PrefixedAttribute, UnprefixedAttribute } + + class MetaDataTest extends TestCase("collection.mutable.ArrayBuffer") with Assert { + + import scala.xml.{TopScope, NamespaceBinding, Atom, Text } + + override def runTest = { + + var x: MetaData = Null + var s: NamespaceBinding = TopScope + + // testing method def apply(uri:String, scp:NamespaceBinding, k:String): Seq[Node] + // def apply(k:String): Seq[Node] + + assertEquals("absent element (prefixed) 1", null, x("za://foo.com", s, "bar" )) + assertEquals("absent element (unprefix) 1", null, x("bar")) + + assertEquals("absent element (prefixed) 2", None, x.get("za://foo.com", s, "bar" )) + assertEquals("absent element (unprefix) 2", None, x.get("bar")) + + x = new PrefixedAttribute("zo","bar", new Atom(42), x) + s = new NamespaceBinding("zo","za://foo.com",s) + + assertEquals("present element (prefixed) 3", new Atom(42), x("za://foo.com", s, "bar" )) + assertEquals("present element (unprefix) 3", null, x("bar")) + + assertEquals("present element (prefixed) 4", Some(new Atom(42)), x.get("za://foo.com", s, "bar" )) + assertEquals("present element (unprefix) 4", None, x.get("bar")) + + x = new UnprefixedAttribute("bar","meaning", x) + + assertEquals("present element (prefixed) 5", null, x(null, s, "bar" )) + assertEquals("present element (unprefix) 5", Text("meaning"), x("bar")) + + assertEquals("present element (prefixed) 6", None, x.get(null, s, "bar" )) + assertEquals("present element (unprefix) 6", Some(Text("meaning")), x.get("bar")) + + } + } + + def main(args:Array[String]) = { + val ts = new TestSuite( + new MetaDataTest //, + ) + val tr = new TestResult() + ts.run(tr) + for(val failure <- tr.failures) { + Console.println(failure) + } + } +} |