2020-03-15 23:05:42 +00:00
|
|
|
import unittest
|
2020-03-15 23:28:04 +00:00
|
|
|
import ircstates, irctokens
|
2020-03-15 23:05:42 +00:00
|
|
|
|
2020-03-15 23:53:21 +00:00
|
|
|
class CaseMapTestMethod(unittest.TestCase):
|
2020-03-15 23:05:42 +00:00
|
|
|
def test_rfc1459(self):
|
2022-01-07 18:53:14 +00:00
|
|
|
lower = ircstates.casefold(ircstates.CaseMap.RFC1459, "ÀTEST[]^\\")
|
2020-08-17 17:00:37 +00:00
|
|
|
self.assertEqual(lower, "Àtest{}~|")
|
2020-03-15 23:05:42 +00:00
|
|
|
|
|
|
|
def test_ascii(self):
|
2022-01-07 18:53:14 +00:00
|
|
|
lower = ircstates.casefold(ircstates.CaseMap.ASCII, "ÀTEST[]~\\")
|
2020-03-15 23:12:34 +00:00
|
|
|
self.assertEqual(lower, "Àtest[]~\\")
|
2020-03-15 23:28:04 +00:00
|
|
|
|
2020-03-15 23:53:21 +00:00
|
|
|
class CaseMapTestCommands(unittest.TestCase):
|
2020-03-15 23:28:04 +00:00
|
|
|
def test_join(self):
|
|
|
|
server = ircstates.Server("test")
|
2020-09-29 11:44:45 +00:00
|
|
|
server.parse_tokens(irctokens.tokenise("001 nickname *"))
|
2020-03-15 23:53:21 +00:00
|
|
|
server.parse_tokens(irctokens.tokenise(":Nickname JOIN #Chan"))
|
|
|
|
server.parse_tokens(irctokens.tokenise(":Other JOIN #Chan"))
|
|
|
|
self.assertIn("nickname", server.users)
|
|
|
|
self.assertNotIn("Nickname", server.users)
|
2020-03-15 23:28:04 +00:00
|
|
|
self.assertIn("other", server.users)
|
2020-03-15 23:53:21 +00:00
|
|
|
self.assertNotIn("Other", server.users)
|
|
|
|
self.assertIn("#chan", server.channels)
|
2020-04-21 13:28:04 +00:00
|
|
|
self.assertNotIn("#Chan", server.channels)
|
|
|
|
|
2020-03-15 23:53:21 +00:00
|
|
|
channel = server.channels["#chan"]
|
|
|
|
self.assertEqual(channel.name, "#Chan")
|
|
|
|
|
|
|
|
def test_nick(self):
|
|
|
|
server = ircstates.Server("test")
|
2020-09-29 11:44:45 +00:00
|
|
|
server.parse_tokens(irctokens.tokenise("001 nickname *"))
|
2020-03-15 23:53:21 +00:00
|
|
|
server.parse_tokens(irctokens.tokenise(":nickname JOIN #chan"))
|
|
|
|
user = server.users["nickname"]
|
|
|
|
server.parse_tokens(irctokens.tokenise(":nickname NICK NewNickname"))
|
|
|
|
self.assertEqual(len(server.users), 1)
|
|
|
|
self.assertIn("newnickname", server.users)
|
|
|
|
self.assertEqual(user.nickname, "NewNickname")
|
|
|
|
self.assertEqual(user.nickname_lower, "newnickname")
|
|
|
|
self.assertEqual(server.nickname, "NewNickname")
|
|
|
|
self.assertEqual(server.nickname_lower, "newnickname")
|