[Checkins] SVN: z3c.pt/trunk/src/z3c/pt/ Fix errno NameError in
TemplateLoader when a bad path is passed; test.
Chris McDonough
chrism at plope.com
Fri Aug 8 12:17:53 EDT 2008
Log message for revision 89548:
Fix errno NameError in TemplateLoader when a bad path is passed; test.
Changed:
U z3c.pt/trunk/src/z3c/pt/loader.py
A z3c.pt/trunk/src/z3c/pt/tests/test_loader.py
-=-
Modified: z3c.pt/trunk/src/z3c/pt/loader.py
===================================================================
--- z3c.pt/trunk/src/z3c/pt/loader.py 2008-08-08 15:44:43 UTC (rev 89547)
+++ z3c.pt/trunk/src/z3c/pt/loader.py 2008-08-08 16:17:53 UTC (rev 89548)
@@ -8,7 +8,11 @@
"""
def __init__(self, search_path=None, auto_reload=False, cachedir=None):
- self.search_path = search_path is not None and search_path or []
+ if search_path is None:
+ search_path = []
+ if isinstance(search_path, basestring):
+ search_path = [search_path]
+ self.search_path = search_path
self.auto_reload = auto_reload
self.cachedir = cachedir
if cachedir is not None:
@@ -26,7 +30,7 @@
return klass(path, auto_reload=self.auto_reload,
cachedir=self.cachedir)
except OSError, e:
- if e.errno!=erro.ENOENT:
+ if e.errno != errno.ENOENT:
raise
raise ValueError("Can not find template %s" % filename)
Added: z3c.pt/trunk/src/z3c/pt/tests/test_loader.py
===================================================================
--- z3c.pt/trunk/src/z3c/pt/tests/test_loader.py (rev 0)
+++ z3c.pt/trunk/src/z3c/pt/tests/test_loader.py 2008-08-08 16:17:53 UTC (rev 89548)
@@ -0,0 +1,45 @@
+import unittest
+
+class LoadTests:
+ def _makeOne(self, search_path=None, auto_reload=False, cachedir=None):
+ klass = self._getTargetClass()
+ return klass(search_path, auto_reload, cachedir)
+
+ def _getTargetClass(self):
+ from z3c.pt.loader import TemplateLoader
+ return TemplateLoader
+
+ def test_load_relative(self):
+ import os
+ here = os.path.dirname(__file__)
+ loader = self._makeOne(search_path = [here])
+
+ result = self._load(loader, 'view.pt')
+ self.assertEqual(result.filename, os.path.join(here, 'view.pt'))
+
+ def test_load_relative_badpath_in_searchpath(self):
+ import os
+ here = os.path.dirname(__file__)
+ loader = self._makeOne(search_path = [os.path.join(here, 'none'), here])
+ result = self._load(loader, 'view.pt')
+ self.assertEqual(result.filename, os.path.join(here, 'view.pt'))
+
+ def test_load_abs(self):
+ import os
+ here = os.path.dirname(__file__)
+ loader = self._makeOne()
+ abs = os.path.join(here, 'view.pt')
+ result = self._load(loader, abs)
+ self.assertEqual(result.filename, abs)
+
+class LoadPageTests(unittest.TestCase, LoadTests):
+ def _load(self, loader, filename):
+ return loader.load_page(filename)
+
+class LoadTextTests(unittest.TestCase, LoadTests):
+ def _load(self, loader, filename):
+ return loader.load_text(filename)
+
+def test_suite():
+ import sys
+ return unittest.findTestCases(sys.modules[__name__])
Property changes on: z3c.pt/trunk/src/z3c/pt/tests/test_loader.py
___________________________________________________________________
Name: svn:eol-style
+ native
More information about the Checkins
mailing list