123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- package com.dmdirc.ktirc.messages.processors
-
- import com.dmdirc.ktirc.TestConstants
- import com.dmdirc.ktirc.model.IrcMessage
- import com.dmdirc.ktirc.params
- import com.dmdirc.ktirc.util.currentTimeProvider
- import org.junit.jupiter.api.Assertions.*
- import org.junit.jupiter.api.BeforeEach
- import org.junit.jupiter.api.Test
-
- internal class ModeProcessorTest {
-
- @BeforeEach
- fun setUp() {
- currentTimeProvider = { TestConstants.time }
- }
-
- @Test
- fun `raises event for user mode discovery with no params`() {
- val events = ModeProcessor().process(
- IrcMessage(emptyMap(), "acidburn!libby@root.localhost".toByteArray(), "221", params("acidBurn", "+hax")))
- assertEquals(1, events.size)
-
- assertEquals(TestConstants.time, events[0].metadata.time)
- assertEquals("acidBurn", events[0].target)
- assertEquals("+hax", events[0].modes)
- assertEquals(0, events[0].arguments.size)
- assertTrue(events[0].discovered)
- }
-
- @Test
- fun `raises event for user mode discovery with params`() {
- val events = ModeProcessor().process(
- IrcMessage(emptyMap(), "acidburn!libby@root.localhost".toByteArray(), "221", params("acidBurn", "+hax", "123", "467")))
- assertEquals(1, events.size)
-
- assertEquals(TestConstants.time, events[0].metadata.time)
- assertEquals("acidBurn", events[0].target)
- assertEquals("+hax", events[0].modes)
- assertEquals(2, events[0].arguments.size)
- assertEquals("123", events[0].arguments[0])
- assertEquals("467", events[0].arguments[1])
- assertTrue(events[0].discovered)
- }
-
- @Test
- fun `raises event for user mode change with no params`() {
- val events = ModeProcessor().process(
- IrcMessage(emptyMap(), "acidburn!libby@root.localhost".toByteArray(), "MODE", params("acidBurn", "+hax")))
- assertEquals(1, events.size)
-
- assertEquals(TestConstants.time, events[0].metadata.time)
- assertEquals("acidBurn", events[0].target)
- assertEquals("+hax", events[0].modes)
- assertEquals(0, events[0].arguments.size)
- assertFalse(events[0].discovered)
- }
-
- @Test
- fun `raises event for user mode change with params`() {
- val events = ModeProcessor().process(
- IrcMessage(emptyMap(), "acidburn!libby@root.localhost".toByteArray(), "MODE", params("acidBurn", "+hax", "123", "467")))
- assertEquals(1, events.size)
-
- assertEquals(TestConstants.time, events[0].metadata.time)
- assertEquals("acidBurn", events[0].target)
- assertEquals("+hax", events[0].modes)
- assertEquals(2, events[0].arguments.size)
- assertEquals("123", events[0].arguments[0])
- assertEquals("467", events[0].arguments[1])
- assertFalse(events[0].discovered)
- }
-
- @Test
- fun `raises event for channel mode discovery with no params`() {
- val events = ModeProcessor().process(
- IrcMessage(emptyMap(), "acidburn!libby@root.localhost".toByteArray(), "324", params("acidBurn", "#thegibson", "+hax")))
- assertEquals(1, events.size)
-
- assertEquals(TestConstants.time, events[0].metadata.time)
- assertEquals("#thegibson", events[0].target)
- assertEquals("+hax", events[0].modes)
- assertEquals(0, events[0].arguments.size)
- assertTrue(events[0].discovered)
- }
-
- @Test
- fun `raises event for channel mode discovery with params`() {
- val events = ModeProcessor().process(
- IrcMessage(emptyMap(), "acidburn!libby@root.localhost".toByteArray(), "324", params("acidBurn", "#thegibson", "+hax", "123", "467")))
- assertEquals(1, events.size)
-
- assertEquals(TestConstants.time, events[0].metadata.time)
- assertEquals("#thegibson", events[0].target)
- assertEquals("+hax", events[0].modes)
- assertEquals(2, events[0].arguments.size)
- assertEquals("123", events[0].arguments[0])
- assertEquals("467", events[0].arguments[1])
- assertTrue(events[0].discovered)
- }
-
- @Test
- fun `raises event for channel mode change with no params`() {
- val events = ModeProcessor().process(
- IrcMessage(emptyMap(), "acidburn!libby@root.localhost".toByteArray(), "MODE", params("#thegibson", "+hax")))
- assertEquals(1, events.size)
-
- assertEquals(TestConstants.time, events[0].metadata.time)
- assertEquals("#thegibson", events[0].target)
- assertEquals("+hax", events[0].modes)
- assertEquals(0, events[0].arguments.size)
- assertFalse(events[0].discovered)
- }
-
- @Test
- fun `raises event for channel mode change with params`() {
- val events = ModeProcessor().process(
- IrcMessage(emptyMap(), "acidburn!libby@root.localhost".toByteArray(), "MODE", params("#thegibson", "+hax", "123", "467")))
- assertEquals(1, events.size)
-
- assertEquals(TestConstants.time, events[0].metadata.time)
- assertEquals("#thegibson", events[0].target)
- assertEquals("+hax", events[0].modes)
- assertEquals(2, events[0].arguments.size)
- assertEquals("123", events[0].arguments[0])
- assertEquals("467", events[0].arguments[1])
- assertFalse(events[0].discovered)
- }
-
- }
|