mirror of
https://github.com/jlu5/PyLink.git
synced 2024-11-30 23:09:23 +01:00
40 lines
1.6 KiB
Python
40 lines
1.6 KiB
Python
import sys
|
|
import os
|
|
cwd = os.getcwd()
|
|
sys.path += [cwd, os.path.join(cwd, 'plugins')]
|
|
import unittest
|
|
|
|
import utils
|
|
import classes
|
|
import relay
|
|
|
|
def dummyf():
|
|
pass
|
|
|
|
class TestRelay(unittest.TestCase):
|
|
def setUp(self):
|
|
self.irc = classes.FakeIRC('unittest', classes.FakeProto(), classes.testconf)
|
|
self.irc.maxnicklen = 20
|
|
self.irc.proto.__name__ = "test"
|
|
self.f = relay.normalizeNick
|
|
|
|
def testNormalizeNick(self):
|
|
self.assertEqual(self.f(self.irc, 'helloworld'), 'helloworld/unittest')
|
|
self.assertEqual(self.f(self.irc, 'ObnoxiouslyLongNick'), 'Obnoxiously/unittest')
|
|
self.assertEqual(self.f(self.irc, '10XAAAAAA'), '_10XAAAAAA/unittest')
|
|
|
|
def testNormalizeNickConflict(self):
|
|
self.assertEqual(self.f(self.irc, 'helloworld'), 'helloworld/unittest')
|
|
self.irc.users['10XAAAAAA'] = classes.IrcUser('helloworld/unittest', 1234, '10XAAAAAA')
|
|
# Increase amount of /'s by one
|
|
self.assertEqual(self.f(self.irc, 'helloworld'), 'helloworld//unittest')
|
|
self.irc.users['10XAAAAAB'] = classes.IrcUser('helloworld//unittest', 1234, '10XAAAAAB')
|
|
# Cut off the nick, not the suffix if the result is too long.
|
|
self.assertEqual(self.f(self.irc, 'helloworld'), 'helloworl///unittest')
|
|
|
|
def testNormalizeNickRemovesSlashes(self):
|
|
self.irc.proto.__name__ = "charybdis"
|
|
self.assertEqual(self.f(self.irc, 'helloworld'), 'helloworld|unittest')
|
|
self.assertEqual(self.f(self.irc, 'abcde/eJanus'), 'abcde|eJanu|unittest')
|
|
self.assertEqual(self.f(self.irc, 'ObnoxiouslyLongNick'), 'Obnoxiously|unittest')
|