Updated for jamessan's bugfix.

This commit is contained in:
Jeremy Fincher 2004-08-23 14:09:47 +00:00
parent 96754b8f4b
commit c4ea6453fe

View File

@ -45,44 +45,45 @@ class FunctionsTestCase(SupyTestCase):
channels = {'#foo': holder()} channels = {'#foo': holder()}
nick = 'foobar' nick = 'foobar'
def testStandardSubstitute(self): def testStandardSubstitute(self):
f = plugins.standardSubstitute
msg = ircmsgs.privmsg('#foo', 'filler', prefix='biff!quux@xyzzy') msg = ircmsgs.privmsg('#foo', 'filler', prefix='biff!quux@xyzzy')
s = plugins.standardSubstitute(self.irc, msg, '$rand') s = f(self.irc, msg, '$rand')
try: try:
int(s) int(s)
except ValueError: except ValueError:
self.fail('$rand wasn\'t an int.') self.fail('$rand wasn\'t an int.')
s = plugins.standardSubstitute(self.irc, msg, '$randomInt') s = f(self.irc, msg, '$randomInt')
try: try:
int(s) int(s)
except ValueError: except ValueError:
self.fail('$randomint wasn\'t an int.') self.fail('$randomint wasn\'t an int.')
self.assertEqual(plugins.standardSubstitute(self.irc, msg, '$botnick'), self.assertEqual(f(self.irc, msg, '$botnick'),
self.irc.nick) self.irc.nick)
self.assertEqual(plugins.standardSubstitute(self.irc, msg, '$who'), self.assertEqual(f(self.irc, msg, '$who'),
msg.nick) msg.nick)
self.assertEqual(plugins.standardSubstitute(self.irc, msg, '$WHO'), self.assertEqual(f(self.irc, msg, '$WHO'),
msg.nick, 'stand. sub. not case-insensitive.') msg.nick, 'stand. sub. not case-insensitive.')
self.assertEqual(plugins.standardSubstitute(self.irc, msg, '$nick'), self.assertEqual(f(self.irc, msg, '$nick'),
msg.nick) msg.nick)
self.assert_(plugins.standardSubstitute(self.irc, msg, '$randomdate')) self.assert_(f(self.irc, msg, '$randomdate'))
q = plugins.standardSubstitute(self.irc,msg,'$randomdate\t$randomdate') q = f(self.irc,msg,'$randomdate\t$randomdate')
dl = q.split('\t') dl = q.split('\t')
if dl[0] == dl[1]: if dl[0] == dl[1]:
self.fail ('Two $randomdates in the same string were the same') self.fail ('Two $randomdates in the same string were the same')
q = plugins.standardSubstitute(self.irc, msg, '$randomint\t$randomint') q = f(self.irc, msg, '$randomint\t$randomint')
dl = q.split('\t') dl = q.split('\t')
if dl[0] == dl[1]: if dl[0] == dl[1]:
self.fail ('Two $randomints in the same string were the same') self.fail ('Two $randomints in the same string were the same')
self.assert_(plugins.standardSubstitute(self.irc, msg, '$today')) self.assertNotEqual(f(self.irc, msg, '$today'), '$today')
self.assert_(plugins.standardSubstitute(self.irc, msg, '$now')) self.assertNotEqual(f(self.irc, msg, '$now'), '$now')
n = plugins.standardSubstitute(self.irc, msg, '$randnick') n = f(self.irc, msg, '$randnick')
self.failUnless(n in self.irc.state.channels['#foo'].users) self.failUnless(n in self.irc.state.channels['#foo'].users)
n = plugins.standardSubstitute(self.irc, msg, '$randomnick') n = f(self.irc, msg, '$randomnick')
self.failUnless(n in self.irc.state.channels['#foo'].users) self.failUnless(n in self.irc.state.channels['#foo'].users)
n = plugins.standardSubstitute(self.irc, msg, '$randomnick '*100) n = f(self.irc, msg, '$randomnick '*100)
L = n.split() L = n.split()
self.failIf(all(L[0].__eq__, L), 'all $randomnicks were the same') self.failIf(all(L[0].__eq__, L), 'all $randomnicks were the same')
c = plugins.standardSubstitute(self.irc, msg, '$channel') c = f(self.irc, msg, '$channel')
self.assertEqual(c, msg.args[0]) self.assertEqual(c, msg.args[0])