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

Roundup Issue Tracker: http://roundup-tracker.org/