Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

PartProcessorTest.kt 1.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package com.dmdirc.ktirc.messages
  2. import com.dmdirc.ktirc.TestConstants
  3. import com.dmdirc.ktirc.model.IrcMessage
  4. import com.dmdirc.ktirc.model.User
  5. import org.junit.jupiter.api.Assertions.assertEquals
  6. import org.junit.jupiter.api.BeforeEach
  7. import org.junit.jupiter.api.Test
  8. internal class PartProcessorTest {
  9. @BeforeEach
  10. fun setUp() {
  11. IrcMessage.currentTimeProvider = { TestConstants.time }
  12. }
  13. @Test
  14. fun `PartProcessor raises part event without message`() {
  15. val events = PartProcessor().process(
  16. IrcMessage(emptyMap(), "acidburn!libby@root.localhost".toByteArray(), "PART", listOf("#crashandburn".toByteArray())))
  17. assertEquals(1, events.size)
  18. assertEquals(TestConstants.time, events[0].time)
  19. assertEquals(User("acidburn", "libby", "root.localhost"), events[0].user)
  20. assertEquals("#crashandburn", events[0].channel)
  21. assertEquals("", events[0].reason)
  22. }
  23. @Test
  24. fun `PartProcessor raises part event with message`() {
  25. val events = PartProcessor().process(
  26. IrcMessage(emptyMap(), "acidburn!libby@root.localhost".toByteArray(), "PART", listOf("#crashandburn".toByteArray(), "Hack the planet!".toByteArray())))
  27. assertEquals(1, events.size)
  28. assertEquals(TestConstants.time, events[0].time)
  29. assertEquals(User("acidburn", "libby", "root.localhost"), events[0].user)
  30. assertEquals("#crashandburn", events[0].channel)
  31. assertEquals("Hack the planet!", events[0].reason)
  32. }
  33. @Test
  34. fun `PartProcessor does nothing if prefix missing`() {
  35. val events = JoinProcessor().process(
  36. IrcMessage(emptyMap(), null, "PART", listOf("#crashandburn".toByteArray())))
  37. assertEquals(0, events.size)
  38. }
  39. }