Skip to content

Commit 1ae73af

Browse files
committed
chore: implement getHookType on ScalaHookDefinition
See #401 for context
1 parent a528111 commit 1ae73af

File tree

3 files changed

+16
-2
lines changed

3 files changed

+16
-2
lines changed

cucumber-scala/src/main/scala/io/cucumber/scala/HookDsl.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,8 @@ private[scala] trait HookDsl extends BaseScalaDsl {
184184
}
185185

186186
def apply(body: Scenario => Unit): Unit = {
187-
val details = ScalaHookDetails(tagExpression, order, body, frame)
187+
val details =
188+
ScalaHookDetails(tagExpression, order, body, frame, hookType)
188189
registry.registerDynamicHook(hookType, details)
189190
}
190191

cucumber-scala/src/main/scala/io/cucumber/scala/ScalaHookDefinition.scala

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package io.cucumber.scala
22

33
import io.cucumber.core.backend.{HookDefinition, ScenarioScoped, TestCaseState}
4+
import io.cucumber.scala.ScopedHookType.{AFTER, AFTER_STEP, BEFORE, BEFORE_STEP}
45

6+
import java.util.Optional
57
import scala.annotation.nowarn
68

79
trait ScalaHookDefinition extends HookDefinition with AbstractGlueDefinition {
@@ -18,6 +20,16 @@ trait ScalaHookDefinition extends HookDefinition with AbstractGlueDefinition {
1820

1921
override def getOrder: Int = hookDetails.order
2022

23+
override def getHookType: Optional[HookDefinition.HookType] = {
24+
val javaHookType = hookDetails.hookType match {
25+
case BEFORE => HookDefinition.HookType.BEFORE
26+
case AFTER => HookDefinition.HookType.AFTER
27+
case BEFORE_STEP => HookDefinition.HookType.BEFORE_STEP
28+
case AFTER_STEP => HookDefinition.HookType.AFTER_STEP
29+
}
30+
Optional.of(javaHookType)
31+
}
32+
2133
}
2234

2335
object ScalaHookDefinition {

cucumber-scala/src/main/scala/io/cucumber/scala/ScalaHookDetails.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,6 @@ case class ScalaHookDetails(
66
tagExpression: String,
77
order: Int,
88
body: HookDefinitionBody,
9-
stackTraceElement: StackTraceElement
9+
stackTraceElement: StackTraceElement,
10+
hookType: ScopedHookType
1011
)

0 commit comments

Comments
 (0)