diff --git a/ietf/tests.py b/ietf/tests.py index 52b9c2a2e..73ca4b567 100644 --- a/ietf/tests.py +++ b/ietf/tests.py @@ -3,13 +3,33 @@ import re import django.test.simple from django.test import TestCase -from ietf.urls import urlpatterns import ietf.settings +import ietf.urls def run_tests(module_list, verbosity=1, extra_tests=[]): module_list.append(ietf.tests) return django.test.simple.run_tests(module_list, verbosity, extra_tests) +def get_patterns(module): + all = [] + try: + patterns = module.urlpatterns + except AttributeError: + patterns = [] + for item in patterns: + try: + subpatterns = get_patterns(item.urlconf_module) + except: + subpatterns = [""] + for sub in subpatterns: + if not sub: + all.append(item.regex.pattern) + elif sub.startswith("^"): + all.append(item.regex.pattern + sub[1:]) + else: + all.append(item.regex.pattern + ".*" + sub) + return all + class UrlTestCase(TestCase): def setUp(self): from django.test.client import Client @@ -38,7 +58,7 @@ class UrlTestCase(TestCase): def testCoverage(self): covered = [] - patterns = [pattern.regex.pattern for pattern in urlpatterns] + patterns = get_patterns(ietf.urls) for code, testurl, goodurl in self.testurls: for pattern in patterns: if re.match(pattern, testurl[1:]): @@ -48,7 +68,7 @@ class UrlTestCase(TestCase): #self.assertEqual(set(patterns), set(covered), "Not all the #application URLs has test cases. The missing are: %s" % (list(set(patterns) - set(covered)))) if not set(patterns) == set(covered): - print "Not all the application URLs has test cases. The missing are: %s" % (list(set(patterns) - set(covered))) + print "Not all the application URLs has test cases. The missing are: %s" % ("\n ".join(list(set(patterns) - set(covered)))) def testUrls(self): for code, testurl, goodurl in self.testurls: diff --git a/ietf/utils/templated_form.py b/ietf/utils/templated_form.py index 15cc15bb6..e09e64478 100644 --- a/ietf/utils/templated_form.py +++ b/ietf/utils/templated_form.py @@ -3,14 +3,13 @@ from django.utils.html import escape def makeTemplatedForm(template=None): """Create a form class which formats its fields using the provided template - The template is provided with a dictionary containing the following keys, value + The template is provided with a dictionary containing the following key-value pairs: "label": field label, if any, "errors": list of errors, if any, - "field": widget rendering for an unbound form / field value for a bound form, + "text": widget rendering for an unbound form / field value for a bound form, "help_text": field help text, if any - """ from django.template import loader import django.newforms as forms @@ -18,7 +17,7 @@ def makeTemplatedForm(template=None): class TemplatedForm(forms.BaseForm): _template = template def __getitem__(self, name): - "Returns a BoundField with the given name." + "Returns a rendered field with the given name." #syslog.syslog("FormattingForm.__getitem__(%s)" % (name, )) try: field = self.fields[name]