summaryrefslogtreecommitdiff
path: root/test/files/run/t7074.scala
diff options
context:
space:
mode:
authorSzabolcs Berecz <szabolcs.berecz@gmail.com>2013-02-17 13:56:13 +0100
committerSzabolcs Berecz <szabolcs.berecz@gmail.com>2013-02-24 17:51:29 +0100
commit8187debb7148483d991b7fa131e0c66cdee6e646 (patch)
treee8c879e94010ac29540a592eb0c08c46a1cc7630 /test/files/run/t7074.scala
parent2952d0fa020c003e919dff0eea0bc63f7d52fba8 (diff)
downloadscala-8187debb7148483d991b7fa131e0c66cdee6e646.tar.gz
scala-8187debb7148483d991b7fa131e0c66cdee6e646.tar.bz2
scala-8187debb7148483d991b7fa131e0c66cdee6e646.zip
SI-7074 Fix xml attribute sorting
Sorting the attributes of an xml element could drop some of the attributes. It was caused by the incorrect use of MetaData#copy() to concatenate "smaller" with the rest of the attributes. The MetaData#copy() method is similar to the following hypothetical method on a List: def copy(other: List): List = head :: other The fix prepends all elements of "smaller" to the rest of the attributes in the proper order.
Diffstat (limited to 'test/files/run/t7074.scala')
-rw-r--r--test/files/run/t7074.scala15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/files/run/t7074.scala b/test/files/run/t7074.scala
new file mode 100644
index 0000000000..693a076a7a
--- /dev/null
+++ b/test/files/run/t7074.scala
@@ -0,0 +1,15 @@
+import scala.xml.Utility.sort
+
+object Test extends App {
+ println(sort(<a/>))
+ println(sort(<a d="1" b="2" c="3"/>))
+ println(sort(<a d="1" b="2" e="3" c="4" f="5"/>))
+ println(sort(<a f="1" e="2" d="3" c="4" b="5"/>))
+ println(sort(<a b="1" c="2" d="3" e="4" f="5"/>))
+
+ println(sort(<a a:d="1" a:b="2" a:c="3"/>))
+ println(sort(<a a:d="1" a:b="2" a:e="3" a:c="4" a:f="5"/>))
+ println(sort(<a a:f="1" a:e="2" a:d="3" a:c="4" a:b="5"/>))
+ println(sort(<a a:b="1" a:c="2" a:d="3" a:e="4" a:f="5"/>))
+}
+