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

12345678910111213141516171819202122232425262728293031
  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 org.junit.jupiter.api.Assertions.assertEquals
  6. import org.junit.jupiter.api.Test
  7. internal class NamesProcessorTest {
  8. private val processor = NamesProcessor()
  9. @Test
  10. fun `NamesProcessor handles end of names reply`() {
  11. val events = processor.process(IrcMessage(emptyMap(), ":the.gibson".toByteArray(), "366", listOf("AcidBurn", "#root", "End of /NAMES list").map { it.toByteArray() }))
  12. assertEquals(1, events.size)
  13. assertEquals("#root", (events[0] as ChannelNamesFinished).channel)
  14. }
  15. @Test
  16. fun `NamesProcessor handles names reply`() {
  17. val events = processor.process(IrcMessage(emptyMap(), ":the.gibson".toByteArray(), "353", listOf("AcidBurn", "@", "#root", "AcidBurn @ZeroCool +ThePlague").map { it.toByteArray() }))
  18. assertEquals(1, events.size)
  19. val event = events[0] as ChannelNamesReceived
  20. assertEquals("#root", event.channel)
  21. assertEquals(listOf("AcidBurn", "@ZeroCool", "+ThePlague"), event.names)
  22. }
  23. }