view test/test_token.py @ 3898:dd00c917fc40

per-tracker 404 templating Currently if CGI can't map a name it raises NotFound which gets propagated up to roundup-server which generates a plain vanilla 404 page. This changes it so that the CGI client tries to handle NotFound itself by rendering the appropriate template: classname.404.html (or _generic.404.html if no class specific one is found). If the URL can't be mapped to a DB class then we just reraise NotFound and let the upper layer take care of it. Also, add some basic templates for it. They aren't pretty but no worse than what you got before and provide a jumping off point for further customization. This should fix [SF#403287].
author Justus Pendleton <jpend@users.sourceforge.net>
date Wed, 12 Sep 2007 01:15:07 +0000
parents f63aa57386b0
children 6e3e4f24c753
line wrap: on
line source

#
# 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.3 2003-10-25 22:53:26 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 test_suite():
    suite = unittest.TestSuite()
    suite.addTest(unittest.makeSuite(TokenTestCase))
    return suite

if __name__ == '__main__':
    runner = unittest.TextTestRunner()
    unittest.main(testRunner=runner)

# vim: set filetype=python ts=4 sw=4 et si

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