Skip to content
Permalink
Browse files

fix t5843

  • Loading branch information
lrytz committed May 28, 2012
1 parent ac3fdfd commit 32fde82fb58df3686af50c272d113f31f07a60d9
Showing with 26 additions and 2 deletions.
  1. +2 −2 src/library/scala/xml/Attribute.scala
  2. +9 −0 test/files/run/t5843.check
  3. +15 −0 test/files/run/t5843.scala
@@ -61,8 +61,8 @@ abstract trait Attribute extends MetaData {
else copy(next remove key)

def remove(namespace: String, scope: NamespaceBinding, key: String) =
if (isPrefixed && this.key == key && (scope getURI pre) == namespace) next
else next.remove(namespace, scope, key)
if (this.key == key && (scope getURI pre) == namespace) next
else copy(next.remove(namespace, scope, key))

def isPrefixed: Boolean = pre != null

@@ -0,0 +1,9 @@
foo="1"
bar="2" foo="1"
null
bar="2"
foo="1"
bar="2"
foo="1"
bar="2" foo="1"
bar="2" foo="1"
@@ -0,0 +1,15 @@
object Test extends App {
val foo = scala.xml.Attribute(null, "foo", "1", scala.xml.Null)
val bar = scala.xml.Attribute(null, "bar", "2", foo)
println(foo)
println(bar)
println(scala.xml.TopScope.getURI(foo.pre))
println(bar remove "foo")
println(bar remove "bar")
println(bar remove (null, scala.xml.TopScope, "foo"))
println(bar remove (null, scala.xml.TopScope, "bar"))

val ns = scala.xml.NamespaceBinding(null, "uri", scala.xml.TopScope)
println(bar remove (null, ns, "foo"))
println(bar remove (null, ns, "bar"))
}

0 comments on commit 32fde82

Please sign in to comment.
You can’t perform that action at this time.