fun should_subscribe_and_unsubscribe()

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)
    }