Update of /cvsroot/cvsshell/cvsshell/src
In directory usw-pr-cvs1:/tmp/cvs-serv31648
Modified Files:
utils.py
Log Message:
improved testcases, updated documentation
Index: utils.py
===================================================================
RCS file: /cvsroot/cvsshell/cvsshell/src/utils.py,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** utils.py 7 Aug 2002 21:37:12 -0000 1.13
--- utils.py 15 Sep 2002 21:33:39 -0000 1.14
***************
*** 117,122 ****
def splitquoted(str, stripQuotes=0):
"""Splits str on whitespace except when a quoted string is
! encountered.
! # Example: splitquotes('foo "foo \"bar\""') => ['foo','"foo \"bar\""']
If stripQuotes evaluates to true, the quotation marks are removed.
"""
--- 117,122 ----
def splitquoted(str, stripQuotes=0):
"""Splits str on whitespace except when a quoted string is
! encountered. Both "'" and "'" may be used as quotation marks.
! Example: splitquoted('foo "foo \"bar\""') => ['foo','"foo \"bar\""']
If stripQuotes evaluates to true, the quotation marks are removed.
"""
***************
*** 188,191 ****
--- 188,217 ----
if __name__ == '__main__':
import unittest
+
+ class SplitquotedTestCase(unittest.TestCase):
+ def setUp(self):
+ pass
+ def tearDown(self):
+ pass
+ def testEmpty(self):
+ self.assertEqual(splitquoted(''), [])
+ def testNoBlanks(self):
+ self.assertEqual(splitquoted('abcd'), ['abcd'])
+ self.assertEquals(splitquoted('"abcd"'), ['"abcd"'])
+ self.assertEquals(splitquoted("'abcd'"), ["'abcd'"])
+ def testQuotedBlanks(self):
+ self.assertEqual(splitquoted('"Hello World"'), ['"Hello World"'])
+ self.assertEqual(splitquoted("'Hello World'"), ["'Hello World'"])
+ def testEscapes(self):
+ self.assertEqual(splitquoted('"ab\\"c"'), ['"ab\\"c"'])
+ self.assertEqual(splitquoted("'ab\\'c'"), ["'ab\\'c'"])
+ def testMixedQuotes(self):
+ self.assertEqual(splitquoted('"\'"'), ['"\'"'])
+ self.assertEqual(splitquoted("'\"'"), ["'\"'"])
+ def testStripQuotes(self):
+ self.assertEqual(splitquoted('"Stefan"', 1), ['Stefan'])
+ self.assertEqual(splitquoted("'Stefan'", 1), ['Stefan'])
+ def testMixed(self):
+ self.assertEqual(splitquoted('a "b" c \'d\''), ['a','"b"','c',"'d'"])
class ParseNumberStrTestCase(unittest.TestCase):
|