You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

NamesProcessorTest.kt 1.2KB

1234567891011121314151617181920212223242526272829303132
  1. package com.dmdirc.ktirc.messages
  2. import com.dmdirc.ktirc.events.ChannelNamesFinished
  3. import com.dmdirc.ktirc.events.ChannelNamesReceived
  4. import com.dmdirc.ktirc.model.IrcMessage
  5. import com.dmdirc.ktirc.params
  6. import org.junit.jupiter.api.Assertions.assertEquals
  7. import org.junit.jupiter.api.Test
  8. internal class NamesProcessorTest {
  9. private val processor = NamesProcessor()
  10. @Test
  11. fun `NamesProcessor handles end of names reply`() {
  12. val events = processor.process(IrcMessage(emptyMap(), ":the.gibson".toByteArray(), "366", params("AcidBurn", "#root", "End of /NAMES list")))
  13. assertEquals(1, events.size)
  14. assertEquals("#root", (events[0] as ChannelNamesFinished).target)
  15. }
  16. @Test
  17. fun `NamesProcessor handles names reply`() {
  18. val events = processor.process(IrcMessage(emptyMap(), ":the.gibson".toByteArray(), "353", params("AcidBurn", "@", "#root", "AcidBurn @ZeroCool +ThePlague")))
  19. assertEquals(1, events.size)
  20. val event = events[0] as ChannelNamesReceived
  21. assertEquals("#root", event.target)
  22. assertEquals(listOf("AcidBurn", "@ZeroCool", "+ThePlague"), event.names)
  23. }
  24. }