summaryrefslogtreecommitdiff
path: root/test/files/run/xml-attribute.scala
blob: 8b261acc944c04a2107cad2e656b583227ca4031 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import xml.Node

object Test {
  def main(args: Array[String]): Unit = {
    val noAttr = <t/>
    val attrNull = <t a={ null: String }/>
    val attrNone = <t a={ None: Option[Seq[Node]] }/>
    val preAttrNull = <t p:a={ null: String }/>
    val preAttrNone = <t p:a={ None: Option[Seq[Node]] }/>
    assert(noAttr == attrNull)
    assert(noAttr == attrNone)
    assert(noAttr == preAttrNull)
    assert(noAttr == preAttrNone)

    val noAttrStr = "<t></t>"
    assert(noAttr.toString() == noAttrStr)
    assert(attrNull.toString() == noAttrStr)
    assert(attrNone.toString() == noAttrStr)
    assert(preAttrNull.toString() == noAttrStr)
    assert(preAttrNone.toString() == noAttrStr)

    val xml1 = <t b="1" d="2"/>
    val xml2 = <t a={ null: String } p:a={ null: String } b="1" c={ null: String } d="2"/>
    val xml3 = <t b="1" c={ null: String } d="2" a={ null: String } p:a={ null: String }/>
    assert(xml1 == xml2)
    assert(xml1 == xml3)

    val xml1Str = "<t d=\"2\" b=\"1\"></t>"
    assert(xml1.toString() == xml1Str)
    assert(xml2.toString() == xml1Str)
    assert(xml3.toString() == xml1Str)
  }
}