From c633e28b40ec2f7e195842a75dc98fa6b953d898 Mon Sep 17 00:00:00 2001 From: Burak Emir Date: Fri, 22 Dec 2006 09:13:47 +0000 Subject: fixed test case + strict checking for atom --- src/library/scala/testing/UnitTest.scala | 13 +++++++++++++ src/library/scala/xml/Atom.scala | 4 ++++ test/files/jvm/xml03syntax.check | 3 +-- test/files/jvm/xml03syntax.scala | 13 +++++++++---- 4 files changed, 27 insertions(+), 6 deletions(-) diff --git a/src/library/scala/testing/UnitTest.scala b/src/library/scala/testing/UnitTest.scala index 38b6fb17e3..302ab6dc4a 100644 --- a/src/library/scala/testing/UnitTest.scala +++ b/src/library/scala/testing/UnitTest.scala @@ -61,6 +61,19 @@ object UnitTest { def assertTrue(actual: Boolean): Unit = assertEquals(actual, true) def assertFalse(actual: Boolean): Unit = assertEquals(actual, false) + def assertNull(actual: AnyRef): Unit = + if (actual eq null) + report.ok + else + report.fail(actual.toString, "null") + + def assertNonNull(actual: AnyRef): Unit = + if (actual ne null) + report.ok + else + report.fail(actual.toString, "null") + + def assertNotEquals[a]( actual: a, expected: a): Unit = if (actual != expected) report.ok diff --git a/src/library/scala/xml/Atom.scala b/src/library/scala/xml/Atom.scala index 74e572a556..0bbf65f979 100644 --- a/src/library/scala/xml/Atom.scala +++ b/src/library/scala/xml/Atom.scala @@ -21,6 +21,10 @@ import compat.StringBuilder; [serializable] class Atom[+A]( val data: A ) extends SpecialNode { + data match { + case null => new IllegalArgumentException("cannot construct Atom(null)") + case _ => + } final override def typeTag$:Int = -1; /** the constant "#PCDATA" diff --git a/test/files/jvm/xml03syntax.check b/test/files/jvm/xml03syntax.check index b81c53e9b1..992f71d3bd 100644 --- a/test/files/jvm/xml03syntax.check +++ b/test/files/jvm/xml03syntax.check @@ -1,6 +1,5 @@ -() passed ok -() +passed ok passed ok world passed ok diff --git a/test/files/jvm/xml03syntax.scala b/test/files/jvm/xml03syntax.scala index 7ae6473302..e193af24d3 100644 --- a/test/files/jvm/xml03syntax.scala +++ b/test/files/jvm/xml03syntax.scala @@ -13,13 +13,18 @@ object Test { import NodeSeq.view import testing.UnitTest._ - val x0 = {} - val x00 = { } + val xNull = {null} // these used to be Atom(unit), changed to empty children + + assertSameElements( xNull.child, Nil ) + + val x0 = {} // these used to be Atom(unit), changed to empty children + val x00 = { } // dto. + val xa = { "world" } - assertEquals( handle[Unit](x0), {} ) - assertEquals( handle[Unit](x00), {} ) + assertSameElements( x0.child, Nil ) + assertSameElements( x00.child, Nil ) assertEquals( handle[String](xa),"world" ) val xb = { 1.5 } -- cgit v1.2.3