Skip to content

Commit df7d18e

Browse files
committed
Add further tests of NodeSeq
1 parent e723935 commit df7d18e

File tree

1 file changed

+80
-0
lines changed

1 file changed

+80
-0
lines changed

‎shared/src/test/scala/scala/xml/NodeSeqTest.scala‎

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,84 @@ class NodeSeqTest{
2020
valexp=NodeSeq.fromSeq(Seq(<a>Hello</a>, <b>Hi</b>))
2121
assertEquals(exp, res)
2222
}
23+
24+
@Test
25+
deftestAppendedAll:Unit={// Bug #392.
26+
vala:NodeSeq= <a>Hello</a>
27+
valb= <b>Hi</b>
28+
a :+ <b>Hi</b> match{
29+
caseres: Seq[Node] => assertEquals(2, res.size)
30+
caseres: NodeSeq=> fail("Should be Seq[Node]") // Unreachable code?
31+
}
32+
valres:NodeSeq= a :+ b
33+
valexp=NodeSeq.fromSeq(Seq(<a>Hello</a>, <b>Hi</b>))
34+
assertEquals(exp, res)
35+
}
36+
37+
@Test
38+
deftestPrepended:Unit={
39+
vala:NodeSeq= <a>Hello</a>
40+
valb= <b>Hi</b>
41+
a +: <b>Hi</b> match{
42+
caseres: Seq[NodeSeq] => assertEquals(2, res.size)
43+
caseres: NodeSeq=> fail("Should be NodeSeq was Seq[Node]") // Unreachable code?
44+
}
45+
valres:Seq[NodeSeq] = a +: b
46+
valexp= <a>Hello</a><b>Hi</b>
47+
assertEquals(exp, res)
48+
}
49+
50+
@Test
51+
deftestPrependedAll:Unit={
52+
vala:NodeSeq= <a>Hello</a>
53+
valb= <b>Hi</b>
54+
valc= <c>Hey</c>
55+
a ++: <b>Hi</b> ++: <c>Hey</c> match{
56+
caseres: Seq[Node] => assertEquals(3, res.size)
57+
caseres: NodeSeq=> fail("Should be Seq[Node]") // Unreachable code?
58+
}
59+
valres:NodeSeq= a ++: b ++: c
60+
valexp=NodeSeq.fromSeq(Seq(<a>Hello</a>, <b>Hi</b>, <c>Hey</c>))
61+
assertEquals(exp, res)
62+
}
63+
64+
@Test
65+
deftestMap:Unit={
66+
vala:NodeSeq= <a>Hello</a>
67+
valexp:NodeSeq=Seq(<b>Hi</b>)
68+
assertEquals(exp, a.map(_ => <b>Hi</b>))
69+
assertEquals(exp, for{_ <- a } yield{<b>Hi</b>})
70+
}
71+
72+
@Test
73+
deftestFlatMap:Unit={
74+
vala:NodeSeq= <a>Hello</a>
75+
valexp:NodeSeq=Seq(<b>Hi</b>)
76+
assertEquals(exp, a.flatMap(_ =>Seq(<b>Hi</b>)))
77+
assertEquals(exp, for{b <- a; _ <- b } yield{<b>Hi</b>})
78+
assertEquals(exp, for{b <- a; c <- b; _ <- c } yield{<b>Hi</b>})
79+
}
80+
81+
@Test
82+
deftestStringProjection:Unit={
83+
vala=
84+
<a>
85+
<b>b</b>
86+
<b>
87+
<cd="d">
88+
<e>e</e>
89+
<e>e</e>
90+
</c>
91+
<c>c</c>
92+
</b>
93+
</a>
94+
valres=for{
95+
b <- a \"b"
96+
c <- b.child
97+
e <- (c \"e").headOption
98+
} yield{
99+
e.text.trim
100+
}
101+
assertEquals(Seq("e"), res)
102+
}
23103
}

0 commit comments

Comments
(0)