in kotlin-node/src/jsTest/kotlin/node/events/EventEmitterTest.kt [8:41]
fun should_subscribe_and_unsubscribe() {
var actualOne: Any? = null
var actualTwo: Any? = null
var actualThree: Any? = null
var invocationCount = 0
val test = EventType("test")
val emitter = EventEmitter()
val listener = EventListener { one, two, three ->
actualOne = one
actualTwo = two
actualThree = three
invocationCount++
}
assertEquals(0, invocationCount)
emitter.on(test, listener)
emitter.emit(test, 1, "two", true)
assertEquals(1, actualOne)
assertEquals("two", actualTwo)
assertEquals(true, actualThree)
assertEquals(1, invocationCount)
emitter.off(test, listener)
emitter.emit(test, 1, "two", true)
assertEquals(1, invocationCount)
}