diff --git a/akka-docs/rst/scala/code/docs/testkit/TestkitDocSpec.scala b/akka-docs/rst/scala/code/docs/testkit/TestkitDocSpec.scala index 4a32ec463c..0be722d309 100644 --- a/akka-docs/rst/scala/code/docs/testkit/TestkitDocSpec.scala +++ b/akka-docs/rst/scala/code/docs/testkit/TestkitDocSpec.scala @@ -5,18 +5,15 @@ package docs.testkit import language.postfixOps import scala.util.Success +import akka.testkit._ //#imports-test-probe -import akka.testkit.TestProbe import scala.concurrent.duration._ import akka.actor._ import scala.concurrent.Future //#imports-test-probe -import akka.testkit.AkkaSpec -import akka.testkit.DefaultTimeout -import akka.testkit.ImplicitSender import scala.util.control.NonFatal object TestkitDocSpec { @@ -30,6 +27,16 @@ object TestkitDocSpec { } } + class TestFsmActor extends Actor with FSM[Int, String] { + startWith(1, "") + when(1) { + case Event("go", _) ⇒ goto(2) using "go" + } + when(2) { + case Event("back", _) ⇒ goto(1) using "back" + } + } + //#my-double-echo class MyDoubleEcho extends Actor { var dest1: ActorRef = _ @@ -91,15 +98,9 @@ class TestkitDocSpec extends AkkaSpec with DefaultTimeout with ImplicitSender { import akka.actor.FSM import scala.concurrent.duration._ - val fsm = TestFSMRef(new Actor with FSM[Int, String] { - startWith(1, "") - when(1) { - case Event("go", _) ⇒ goto(2) using "go" - } - when(2) { - case Event("back", _) ⇒ goto(1) using "back" - } - }) + val fsm = TestFSMRef(new TestFsmActor) + + val mustBeTypedProperly: TestActorRef[TestFsmActor] = fsm assert(fsm.stateName == 1) assert(fsm.stateData == "") diff --git a/akka-testkit/src/main/scala/akka/testkit/TestFSMRef.scala b/akka-testkit/src/main/scala/akka/testkit/TestFSMRef.scala index 67b5a2c068..7df486b3ec 100644 --- a/akka-testkit/src/main/scala/akka/testkit/TestFSMRef.scala +++ b/akka-testkit/src/main/scala/akka/testkit/TestFSMRef.scala @@ -40,7 +40,7 @@ class TestFSMRef[S, D, T <: Actor]( props: Props, supervisor: ActorRef, name: String)(implicit ev: T <:< FSM[S, D]) - extends TestActorRef(system, props, supervisor, name) { + extends TestActorRef[T](system, props, supervisor, name) { private def fsm: T = underlyingActor