summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBurak Emir <emir@epfl.ch>2007-09-14 16:54:11 +0000
committerBurak Emir <emir@epfl.ch>2007-09-14 16:54:11 +0000
commit4c74083c14c959370dd69dd6a745f56354143998 (patch)
tree7f5fe66047e83a569ac4e8471f8a958dabd71616
parentab7d775228d75c5d721237682de5113343e0cf18 (diff)
downloadscala-4c74083c14c959370dd69dd6a745f56354143998.tar.gz
scala-4c74083c14c959370dd69dd6a745f56354143998.tar.bz2
scala-4c74083c14c959370dd69dd6a745f56354143998.zip
fixed #60 ampersand in xml
-rw-r--r--src/library/scala/xml/parsing/MarkupParser.scala8
-rw-r--r--test/files/jvm/xml01.check1
-rw-r--r--test/files/jvm/xml01.scala7
3 files changed, 12 insertions, 4 deletions
diff --git a/src/library/scala/xml/parsing/MarkupParser.scala b/src/library/scala/xml/parsing/MarkupParser.scala
index 68eccf5261..e8cd0edb85 100644
--- a/src/library/scala/xml/parsing/MarkupParser.scala
+++ b/src/library/scala/xml/parsing/MarkupParser.scala
@@ -1191,10 +1191,10 @@ trait MarkupParser extends AnyRef with TokenTests { self: MarkupParser with Mar
d = it.next
} while(d != ';');
nbuf.toString() match {
- case "lt" => cbuf.append('<')
- case "gt" => cbuf.append('>')
- case "amp" => cbuf.append('&')
- case "quote" => cbuf.append('"')
+ //case "lt" => cbuf.append('<')
+ //case "gt" => cbuf.append('>')
+ //case "amp" => cbuf.append('&')
+ //case "quote" => cbuf.append('"')
case name =>
//don't handle entityrefs for now
cbuf.append('&')
diff --git a/test/files/jvm/xml01.check b/test/files/jvm/xml01.check
index 2a8d2e5625..cafdd6e2fc 100644
--- a/test/files/jvm/xml01.check
+++ b/test/files/jvm/xml01.check
@@ -28,3 +28,4 @@ passed ok
attribute value normalization
passed ok
passed ok
+passed ok
diff --git a/test/files/jvm/xml01.scala b/test/files/jvm/xml01.scala
index 7de6211e29..1f69e6969a 100644
--- a/test/files/jvm/xml01.scala
+++ b/test/files/jvm/xml01.scala
@@ -220,7 +220,14 @@ object Test {
assertTrue(c == '\u015e');
}
+ // #60 test by round trip
+
+ val p = scala.xml.parsing.ConstructingParser.fromSource(scala.io.Source.fromString("<foo bar:attr='&amp;'/>"),true)
+ val n = p.element(new scala.xml.NamespaceBinding("bar","BAR",scala.xml.TopScope))(0)
+ assertFalse( n.attributes.get("BAR", n, "attr").isEmpty)
+
}
+
}