Rewrote Alias implementation

This commit is contained in:
Jeremy Fincher 2003-04-14 04:55:28 +00:00
parent 4caedf25b6
commit 18d9d5923d
1 changed files with 24 additions and 34 deletions

View File

@ -35,38 +35,28 @@ import Alias
class FunctionsTest(unittest.TestCase): class FunctionsTest(unittest.TestCase):
def testFindString(self): def testFindAliasCommand(self):
L = [] s = 'command'
self.assertEqual(0, Alias.findString('foo', L)) self.failIf(Alias.findAliasCommand(s, ''))
L.append('bar') self.failIf(Alias.findAliasCommand(s, 'foo'))
self.assertEqual(0, Alias.findString('foo', L)) self.failIf(Alias.findAliasCommand(s, 'foo bar [ baz]'))
L.append('foo') self.failIf(Alias.findAliasCommand(s, 'foo bar [baz]'))
self.assertEqual(1, Alias.findString('foo', L)) self.failUnless(Alias.findAliasCommand(s, s))
L.append([]) self.failUnless(Alias.findAliasCommand(s, ' %s' % s))
self.assertEqual(1, Alias.findString('foo', L)) self.failUnless(Alias.findAliasCommand(s, '[%s]' % s))
L.append(['bar']) self.failUnless(Alias.findAliasCommand(s, '[ %s]' % s))
self.assertEqual(1, Alias.findString('foo', L)) self.failUnless(Alias.findAliasCommand(s, 'foo bar [%s]' % s))
L.append(['foo']) self.failUnless(Alias.findAliasCommand(s, 'foo bar [ %s]' % s))
self.assertEqual(2, Alias.findString('foo', L))
L.append(['bar', 'foo'])
self.assertEqual(3, Alias.findString('foo', L))
L.append(['foo', 'foo', 'foo'])
self.assertEqual(6, Alias.findString('foo', L))
def testFindDollars(self): def testFindBiggestDollar(self):
L = [] self.assertEqual(Alias.findBiggestDollar(''), None)
self.assertEqual([], Alias.findDollars(L)) self.assertEqual(Alias.findBiggestDollar('foo'), None)
L.append('foo') self.assertEqual(Alias.findBiggestDollar('$0'), 0)
self.assertEqual([], Alias.findDollars(L)) self.assertEqual(Alias.findBiggestDollar('$1'), 1)
L.append('$1') self.assertEqual(Alias.findBiggestDollar('$2'), 2)
self.assertEqual([([1], '$1')], Alias.findDollars(L)) self.assertEqual(Alias.findBiggestDollar('$3'), 3)
L.append('$1 foo bar') self.assertEqual(Alias.findBiggestDollar('foo bar $1'), 1)
self.assertEqual([([1], '$1')], Alias.findDollars(L)) self.assertEqual(Alias.findBiggestDollar('foo $2 $1'), 2)
L.append('$2') self.assertEqual(Alias.findBiggestDollar('foo $0 $1'), 1)
self.assertEqual([([1], '$1'), ([3], '$2')], Alias.findDollars(L)) self.assertEqual(Alias.findBiggestDollar('foo $1 $3'), 3)
L.append(['foo']) self.assertEqual(Alias.findBiggestDollar('$10 bar $1'), 10)
self.assertEqual([([1], '$1'), ([3], '$2')], Alias.findDollars(L))
L.append(['foo', 'bar', '$1'])
self.assertEqual([([1], '$1'), ([3], '$2'), ([5, 2], '$1')],
Alias.findDollars(L))
L.append([[[['$3']]]])