diff genshi/template/tests/text.py @ 475:bb939ed3058c

Added include directive for text templates (#115). Thanks to Alastair for the original patch.
author cmlenz
date Fri, 11 May 2007 21:54:49 +0000
parents 878ffab274a6
children bdaf75981ec7
line wrap: on
line diff
--- a/genshi/template/tests/text.py
+++ b/genshi/template/tests/text.py
@@ -12,14 +12,24 @@
 # history and logs, available at http://genshi.edgewall.org/log/.
 
 import doctest
+import os
+import shutil
+import tempfile
 import unittest
 
+from genshi.template.loader import TemplateLoader
 from genshi.template.text import TextTemplate
 
 
 class TextTemplateTestCase(unittest.TestCase):
     """Tests for text template processing."""
 
+    def setUp(self):
+        self.dirname = tempfile.mkdtemp(suffix='markup_test')
+
+    def tearDown(self):
+        shutil.rmtree(self.dirname)
+
     def test_escaping(self):
         tmpl = TextTemplate('\\#escaped')
         self.assertEqual('#escaped', str(tmpl.generate()))
@@ -74,7 +84,28 @@
 
 """, tmpl.generate(items=range(3)).render('text'))
 
+    def test_include(self):
+        file1 = open(os.path.join(self.dirname, 'tmpl1.txt'), 'w')
+        try:
+            file1.write("Included\n")
+        finally:
+            file1.close()
 
+        file2 = open(os.path.join(self.dirname, 'tmpl2.txt'), 'w')
+        try:
+            file2.write("""----- Included data below this line -----
+            #include tmpl1.txt
+            ----- Included data above this line -----""")
+        finally:
+            file2.close()
+
+        loader = TemplateLoader([self.dirname])
+        tmpl = loader.load('tmpl2.txt', cls=TextTemplate)
+        self.assertEqual("""----- Included data below this line -----
+Included
+            ----- Included data above this line -----""",
+                         tmpl.generate().render())
+        
 def suite():
     suite = unittest.TestSuite()
     suite.addTest(doctest.DocTestSuite(TextTemplate.__module__))
Copyright (C) 2012-2017 Edgewall Software