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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
package com.iinteractive.test.tap
import com.iinteractive.test.{TestMore,SkipAll,NumericPlan}
class ParserTest extends TestMore {
subtest ("basic") {
val tap =
"1..1\n" +
"ok 1\n"
val result = (new Parser).parse(tap)
is(result.plan, NumericPlan(1), "got the right plan")
is(result.results.map(_.passed), Seq(true), "got the right results")
}
subtest ("skip all") {
val tap =
"1..0 # SKIP nope\n"
val result = (new Parser).parse(tap)
is(result.plan, SkipAll("nope"), "got the right plan")
is(result.results, Nil, "got the right results")
}
subtest ("more complicated") {
val tap =
"# starting...\n" +
"ok 1 - stuff\n" +
"not ok 2 - does this work?\n" +
"not ok 3 - eventually # TODO doesn't work yet\n" +
"# skipping some stuff\n" +
"ok 4 # skip don't do this yet\n" +
"# finished!\n" +
"1..4\n" +
"# Looks like you failed 1 test of 4.\n"
val result = (new Parser).parse(tap)
is(result.plan, NumericPlan(4))
is(result.results.map(_.passed), Seq(true, false, false, true))
is(result.results.map(_.number), Seq(1, 2, 3, 4))
is(
result.results.map(_.description),
Seq(
"- stuff",
"- does this work?",
"- eventually",
""
)
)
is(
result.results.map(_.directive),
Seq(
None,
None,
Some(TodoDirective(Some("doesn't work yet"))),
Some(SkipDirective(Some("don't do this yet")))
)
)
}
subtest ("subtests") {
val tap =
"ok 1 - not subtest\n" +
" ok 1 - passed\n" +
" not ok 2 - failed\n" +
" ok 3 - passed again\n" +
" 1..1\n" +
" ok 1 - sub-sub-test\n" +
" ok 4 - nested subtests\n" +
" 1..4\n" +
" # Looks like you failed 1 test of 4.\n" +
"not ok 2 - subtest\n" +
"1..2\n" +
"# Looks like you failed 1 test of 2.\n"
val result = (new Parser).parse(tap)
is(result.plan, NumericPlan(2))
is(result.results.map(_.passed), Seq(true, false))
is(result.results.map(_.number), Seq(1, 2))
is(
result.results.map(_.description),
Seq(
"- not subtest",
"- subtest"
)
)
is(result.results.map(_.directive), Seq(None, None))
is(result.results(0).subtest, None)
ok(result.results(1).subtest.isDefined)
val subtest = result.results(1).subtest.get
is(subtest.plan, NumericPlan(4))
is(subtest.results.map(_.passed), Seq(true, false, true, true))
is(subtest.results.map(_.number), Seq(1, 2, 3, 4))
is(
subtest.results.map(_.description),
Seq(
"- passed",
"- failed",
"- passed again",
"- nested subtests"
)
)
is(subtest.results.map(_.directive), Seq(None, None, None, None))
is(subtest.results(0).subtest, None)
is(subtest.results(1).subtest, None)
is(subtest.results(2).subtest, None)
ok(subtest.results(3).subtest.isDefined)
val subsubtest = subtest.results(3).subtest.get
is(subsubtest.plan, NumericPlan(1))
is(subsubtest.results.map(_.passed), Seq(true))
is(subsubtest.results.map(_.number), Seq(1))
is(
subsubtest.results.map(_.description),
Seq(
"- sub-sub-test"
)
)
is(subsubtest.results.map(_.directive), Seq(None))
is(subsubtest.results(0).subtest, None)
}
}
|