diff --git a/src/main/scala/scala/xml/NamespaceBinding.scala b/src/main/scala/scala/xml/NamespaceBinding.scala
index 8409c41e1..cb97c1d06 100644
--- a/src/main/scala/scala/xml/NamespaceBinding.scala
+++ b/src/main/scala/scala/xml/NamespaceBinding.scala
@@ -73,7 +73,7 @@ case class NamespaceBinding(prefix: String, uri: String, parent: NamespaceBindin
}
private def doBuildString(sb: StringBuilder, stop: NamespaceBinding) {
- if ((this == null) || (this eq stop)) return // contains?
+ if (List(null, stop, TopScope).contains(this)) return
val s = " xmlns%s=\"%s\"".format(
(if (prefix != null) ":" + prefix else ""),
diff --git a/src/test/scala/scala/xml/XMLTest.scala b/src/test/scala/scala/xml/XMLTest.scala
index 01431baf1..ff59de52b 100644
--- a/src/test/scala/scala/xml/XMLTest.scala
+++ b/src/test/scala/scala/xml/XMLTest.scala
@@ -162,6 +162,15 @@ class XMLTest {
}
}
+ @UnitTest
+ def namespacesWithNestedXmls: Unit = {
+ val foo =
+ val bar = {foo}
+ val expected = """"""
+ val actual = bar.toString
+ assertEquals(expected, actual)
+ }
+
@UnitTest
def validationOfElements: Unit = {
val vtor = new scala.xml.dtd.ElementValidator();