Mercurial > p > roundup > code
diff test/test_token.py @ 470:9f7320624bc2
Added better tokenising to roundup-admin - handles spaces and stuff.
Can use quoting or backslashes. See the roundup.token pydoc.
| author | Richard Jones <richard@users.sourceforge.net> |
|---|---|
| date | Mon, 31 Dec 2001 05:09:20 +0000 |
| parents | |
| children | 9b910e8d987d |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/test_token.py Mon Dec 31 05:09:20 2001 +0000 @@ -0,0 +1,60 @@ +# +# Copyright (c) 2001 Richard Jones +# This module is free software, and you may redistribute it and/or modify +# under the same terms as Python, so long as this copyright message and +# disclaimer are retained in their original form. +# +# This module is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# $Id: test_token.py,v 1.1 2001-12-31 05:09:20 richard Exp $ + +import unittest, time + +from roundup.token import token_split + +class TokenTestCase(unittest.TestCase): + def testValid(self): + l = token_split('hello world') + self.assertEqual(l, ['hello', 'world']) + + def testIgnoreExtraSpace(self): + l = token_split('hello world ') + self.assertEqual(l, ['hello', 'world']) + + def testQuoting(self): + l = token_split('"hello world"') + self.assertEqual(l, ['hello world']) + l = token_split("'hello world'") + self.assertEqual(l, ['hello world']) + + def testEmbedQuote(self): + l = token_split(r'Roch\'e Compaan') + self.assertEqual(l, ["Roch'e", "Compaan"]) + l = token_split('address="1 2 3"') + self.assertEqual(l, ['address=1 2 3']) + + def testEscaping(self): + l = token_split('"Roch\'e" Compaan') + self.assertEqual(l, ["Roch'e", "Compaan"]) + l = token_split(r'hello\ world') + self.assertEqual(l, ['hello world']) + l = token_split(r'\\') + self.assertEqual(l, ['\\']) + l = token_split(r'\n') + self.assertEqual(l, ['\n']) + + def testBadQuote(self): + self.assertRaises(ValueError, token_split, '"hello world') + self.assertRaises(ValueError, token_split, "Roch'e Compaan") + +def suite(): + return unittest.makeSuite(TokenTestCase, 'test') + + +# +# $Log: not supported by cvs2svn $ +# +# +# vim: set filetype=python ts=4 sw=4 et si
