1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- package com.dmdirc.ktirc.messages.processors
-
- import com.dmdirc.ktirc.TestConstants
- import com.dmdirc.ktirc.model.IrcMessage
- import com.dmdirc.ktirc.model.User
- import com.dmdirc.ktirc.params
- import com.dmdirc.ktirc.util.currentTimeProvider
- import org.junit.jupiter.api.Assertions.assertEquals
- import org.junit.jupiter.api.BeforeEach
- import org.junit.jupiter.api.Test
-
- internal class JoinProcessorTest {
-
- @BeforeEach
- fun setUp() {
- currentTimeProvider = { TestConstants.time }
- }
-
- @Test
- fun `JoinProcessor raises join event`() {
- val events = JoinProcessor().process(
- IrcMessage(emptyMap(), "acidburn!libby@root.localhost".toByteArray(), "JOIN", params("#crashandburn")))
- assertEquals(1, events.size)
-
- assertEquals(TestConstants.time, events[0].metadata.time)
- assertEquals(User("acidburn", "libby", "root.localhost"), events[0].user)
- assertEquals("#crashandburn", events[0].target)
- }
-
- @Test
- fun `JoinProcessor does nothing if prefix missing`() {
- val events = JoinProcessor().process(
- IrcMessage(emptyMap(), null, "JOIN", params("#crashandburn")))
- assertEquals(0, events.size)
- }
-
- @Test
- fun `JoinProcessor adds real name and account from extended join`() {
- val events = JoinProcessor().process(
- IrcMessage(emptyMap(), "acidburn!libby@root.localhost".toByteArray(), "JOIN", params("#crashandburn", "acidBurn", "Libby")))
- assertEquals(1, events.size)
-
- assertEquals(TestConstants.time, events[0].metadata.time)
- assertEquals(User("acidburn", "libby", "root.localhost", account = "acidBurn", realName = "Libby"), events[0].user)
- assertEquals("#crashandburn", events[0].target)
- }
-
- @Test
- fun `JoinProcessor ignores account if the user is not authed`() {
- val events = JoinProcessor().process(
- IrcMessage(emptyMap(), "acidburn!libby@root.localhost".toByteArray(), "JOIN", params("#crashandburn", "*", "Libby")))
- assertEquals(1, events.size)
-
- assertEquals(TestConstants.time, events[0].metadata.time)
- assertEquals(User("acidburn", "libby", "root.localhost", realName = "Libby"), events[0].user)
- assertEquals("#crashandburn", events[0].target)
- }
-
- }
|