@@ -7,36 +7,43 @@ import _root_.gherkin.formatter.model.Tag
7
7
import collection .JavaConverters ._
8
8
9
9
import _root_ .cucumber .runtime .scala .Transform
10
+ import cucumber .api .Scenario
10
11
11
12
class ScalaDslTest {
12
13
14
+ object StubScenario extends Scenario {
15
+ def getStatus = " "
16
+
17
+ def isFailed = false
18
+
19
+ def embed (p1 : Array [Byte ], p2 : String ) {}
20
+
21
+ def write (p1 : String ) {}
22
+ }
23
+
13
24
@ Test
14
25
def emptyBefore {
15
26
16
- var called = false
27
+ var actualScenario : Scenario = null
17
28
18
29
object Befores extends ScalaDsl with EN {
19
- Before {
20
- called = true
21
- }
30
+ Before { actualScenario = _ }
22
31
}
23
32
24
33
assertEquals(1 , Befores .beforeHooks.size)
25
34
val hook = Befores .beforeHooks.head
26
35
assertTrue(hook.matches(List [Tag ]().asJava))
27
- hook.execute(null )
28
- assertTrue(called)
36
+ hook.execute(StubScenario )
29
37
assertEquals(Int .MaxValue , hook.getOrder)
38
+ assertEquals(StubScenario , actualScenario)
30
39
}
31
40
32
41
@ Test
33
42
def taggedBefore {
34
- var called = false
43
+ var actualScenario : Scenario = null
35
44
36
45
object Befores extends ScalaDsl with EN {
37
- Before (" @foo,@bar" , " @zap" ){
38
- called = true
39
- }
46
+ Before (" @foo,@bar" , " @zap" ){ actualScenario = _ }
40
47
}
41
48
42
49
assertEquals(1 , Befores .beforeHooks.size)
@@ -46,20 +53,16 @@ class ScalaDslTest {
46
53
assertTrue(hook.matches(List (new Tag (" @bar" , 0 ), new Tag (" @zap" , 0 )).asJava))
47
54
assertFalse(hook.matches(List (new Tag (" @bar" , 1 )).asJava))
48
55
49
- hook.execute(null )
50
- assertTrue(called )
56
+ hook.execute(StubScenario )
57
+ assertEquals( StubScenario , actualScenario )
51
58
assertEquals(Int .MaxValue , hook.getOrder)
52
59
}
53
60
54
61
@ Test
55
62
def orderedBefore {
56
63
57
- var called = false
58
-
59
64
object Befores extends ScalaDsl with EN {
60
- Before (10 ){
61
- called = true
62
- }
65
+ Before (10 ){ scenario : Scenario => }
63
66
}
64
67
65
68
val hook = Befores .beforeHooks(0 )
@@ -69,12 +72,8 @@ class ScalaDslTest {
69
72
@ Test
70
73
def taggedOrderedBefore {
71
74
72
- var called = false
73
-
74
75
object Befores extends ScalaDsl with EN {
75
- Before (10 , " @foo,@bar" , " @zap" ){
76
- called = true
77
- }
76
+ Before (10 , " @foo,@bar" , " @zap" ){ scenario : Scenario => }
78
77
}
79
78
80
79
val hook = Befores .beforeHooks(0 )
@@ -84,29 +83,25 @@ class ScalaDslTest {
84
83
@ Test
85
84
def emptyAfter {
86
85
87
- var called = false
86
+ var actualScenario : Scenario = null
88
87
89
88
object Afters extends ScalaDsl with EN {
90
- After {
91
- called = true
92
- }
89
+ After { actualScenario = _ }
93
90
}
94
91
95
92
assertEquals(1 , Afters .afterHooks.size)
96
93
val hook = Afters .afterHooks.head
97
94
assertTrue(hook.matches(List [Tag ]().asJava))
98
- hook.execute(null )
99
- assertTrue(called )
95
+ hook.execute(StubScenario )
96
+ assertEquals( StubScenario , actualScenario )
100
97
}
101
98
102
99
@ Test
103
100
def taggedAfter {
104
- var called = false
101
+ var actualScenario : Scenario = null
105
102
106
103
object Afters extends ScalaDsl with EN {
107
- After (" @foo,@bar" , " @zap" ){
108
- called = true
109
- }
104
+ After (" @foo,@bar" , " @zap" ){ actualScenario = _ }
110
105
}
111
106
112
107
assertEquals(1 , Afters .afterHooks.size)
@@ -116,8 +111,8 @@ class ScalaDslTest {
116
111
assertTrue(hook.matches(List (new Tag (" @bar" , 0 ), new Tag (" @zap" , 0 )).asJava))
117
112
assertFalse(hook.matches(List (new Tag (" @bar" , 1 )).asJava))
118
113
119
- hook.execute(null )
120
- assertTrue(called )
114
+ hook.execute(StubScenario )
115
+ assertEquals( StubScenario , actualScenario )
121
116
}
122
117
123
118
@ Test
@@ -132,7 +127,7 @@ class ScalaDslTest {
132
127
133
128
assertEquals(1 , Dummy .stepDefinitions.size)
134
129
val step = Dummy .stepDefinitions.head
135
- assertEquals(" ScalaDslTest.scala:128 " , step.getLocation(true )) // be careful with formatting or this test will break
130
+ assertEquals(" ScalaDslTest.scala:123 " , step.getLocation(true )) // be careful with formatting or this test will break
136
131
assertEquals(" x" , step.getPattern)
137
132
step.execute(new I18n (" en" ), Array ())
138
133
assertTrue(called)
0 commit comments