diff options
author | Burak Emir <emir@epfl.ch> | 2008-01-28 22:27:56 +0000 |
---|---|---|
committer | Burak Emir <emir@epfl.ch> | 2008-01-28 22:27:56 +0000 |
commit | 9d7b414f6cbb16d87fefb96e28d4c07afde7c65b (patch) | |
tree | 594f4e159aa0bb4096c9441d649a52df48dd9bd3 /test/files | |
parent | fc0948748007901204e63f704c9d52a16464f109 (diff) | |
download | scala-9d7b414f6cbb16d87fefb96e28d4c07afde7c65b.tar.gz scala-9d7b414f6cbb16d87fefb96e28d4c07afde7c65b.tar.bz2 scala-9d7b414f6cbb16d87fefb96e28d4c07afde7c65b.zip |
support for <elem key={x:Option[Seq[Node]]} />,...
support for <elem key={x:Option[Seq[Node]]} />, so that Options can be used for optional attributes.
Diffstat (limited to 'test/files')
-rw-r--r-- | test/files/jvm/xmlattr.check | 12 | ||||
-rw-r--r-- | test/files/jvm/xmlattr.scala | 74 |
2 files changed, 49 insertions, 37 deletions
diff --git a/test/files/jvm/xmlattr.check b/test/files/jvm/xmlattr.check index bebcb45081..e69de29bb2 100644 --- a/test/files/jvm/xmlattr.check +++ b/test/files/jvm/xmlattr.check @@ -1,12 +0,0 @@ -null -true - foo="bar" -Some(bar) -bar - -true - -None -null -<b x="&"></b> -<b x="&"></b> diff --git a/test/files/jvm/xmlattr.scala b/test/files/jvm/xmlattr.scala index c34f66eafc..0e519f51df 100644 --- a/test/files/jvm/xmlattr.scala +++ b/test/files/jvm/xmlattr.scala @@ -1,29 +1,53 @@ -import scala.xml._ -object Test extends Application { - { - var z:NodeSeq = null - - Console.println(z) - Console.println(z==null) - var x = new UnprefixedAttribute("foo","bar", Null) - //x = new UnprefixedAttribute("foo", null:Seq[Node], x) - Console.println(x.toString) - Console.println(x.get("foo")) // Some(bar) - Console.println(x("foo")) // bar - - val y = x.remove("foo") - Console.println(y.toString) - Console.println(y == Null) // true - - x = new UnprefixedAttribute("foo", z, x) - Console.println(x.toString) - Console.println(x.get("foo")) // None - Console.println(x("foo")) // null +import testing.SUnit.{Assert, TestCase, TestConsoleMain, TestSuite} +import xml.{NodeSeq, Null, Text, UnprefixedAttribute} + +object Test extends TestConsoleMain { + def suite = new TestSuite() + + object UnprefixedAttributeTest extends TestCase("UnprefixedAttribute") with Assert { + override def runTest { + var x = new UnprefixedAttribute("foo","bar", Null) + + // always assertX(expected, actual) + assertEquals(Some(Text("bar")), x.get("foo")); + assertEquals(Text("bar"), x("foo")) + assertEquals(None, x.get("no_foo")) + assertEquals(null, x("no_foo")) + + val y = x.remove("foo") + assertEquals(Null, y) + + val z = new UnprefixedAttribute("foo", null:NodeSeq, x) + assertEquals(None, z.get("foo")) + } } - val x1 = <b x="&"/> - val x2 = <b x={"&"}/> - Console.println(x1) - Console.println(x2) + object AttributeWithOptionTest extends TestCase("AttributeWithOption") with Assert { + override def runTest { + var x = new UnprefixedAttribute("foo", Some(Text("bar")), Null) + assertEquals(Some(Text("bar")), x.get("foo")); + assertEquals(Text("bar"), x("foo")) + assertEquals(None, x.get("no_foo")) + assertEquals(null, x("no_foo")) + + val attr1 = Some(Text("foo value")) + val attr2 = None + val y = <b foo={attr1} bar={attr2} /> + assertEquals(Some(Text("foo value")), y.attributes.get("foo")); + assertEquals(Text("foo value"), y.attributes("foo")) + assertEquals(None, y.attributes.get("bar")) + assertEquals(null, y.attributes("bar")) + + val z = new UnprefixedAttribute("bar", None, x) + assertEquals(z.get("foo"), None) // None + } + } + + object AttributeOutputTest extends TestCase("AttributeOutput") with Assert { + override def runTest { + assertEquals(<b x="&"/>.toString, "<b x=\"&\"></b>") + assertEquals( <b x={"&"}/>.toString, "<b x=\"&\"></b>") + } + } } |