[Cvsshell-devel] CVS: cvsshell/src utils.py,1.13,1.14
Status: Beta
Brought to you by:
stefanheimann
From: Stefan H. <ste...@us...> - 2002-09-15 21:33:41
|
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): |