Mercurial > genshi > mirror
comparison genshi/template/tests/markup.py @ 656:f3bc1de7138d trunk
Add unit test for #157, which seems to be working okay in trunk.
author | cmlenz |
---|---|
date | Thu, 22 Nov 2007 20:04:23 +0000 |
parents | 9ff8eccc6f1f |
children | 08f22328303d |
comparison
equal
deleted
inserted
replaced
655:14aa86c3e514 | 656:f3bc1de7138d |
---|---|
268 <div>Included 0</div><div>Included 1</div><div>Included 2</div> | 268 <div>Included 0</div><div>Included 1</div><div>Included 2</div> |
269 </html>""", tmpl.generate(name='tmpl1').render()) | 269 </html>""", tmpl.generate(name='tmpl1').render()) |
270 finally: | 270 finally: |
271 shutil.rmtree(dirname) | 271 shutil.rmtree(dirname) |
272 | 272 |
273 def test_dynamic_inlude_href(self): | 273 def test_dynamic_include_href(self): |
274 dirname = tempfile.mkdtemp(suffix='genshi_test') | 274 dirname = tempfile.mkdtemp(suffix='genshi_test') |
275 try: | 275 try: |
276 file1 = open(os.path.join(dirname, 'tmpl1.html'), 'w') | 276 file1 = open(os.path.join(dirname, 'tmpl1.html'), 'w') |
277 try: | 277 try: |
278 file1.write("""<div>Included</div>""") | 278 file1.write("""<div>Included</div>""") |
294 <div>Included</div> | 294 <div>Included</div> |
295 </html>""", tmpl.generate(name='tmpl1').render()) | 295 </html>""", tmpl.generate(name='tmpl1').render()) |
296 finally: | 296 finally: |
297 shutil.rmtree(dirname) | 297 shutil.rmtree(dirname) |
298 | 298 |
299 def test_select_inluded_elements(self): | 299 def test_select_included_elements(self): |
300 dirname = tempfile.mkdtemp(suffix='genshi_test') | 300 dirname = tempfile.mkdtemp(suffix='genshi_test') |
301 try: | 301 try: |
302 file1 = open(os.path.join(dirname, 'tmpl1.html'), 'w') | 302 file1 = open(os.path.join(dirname, 'tmpl1.html'), 'w') |
303 try: | 303 try: |
304 file1.write("""<li>$item</li>""") | 304 file1.write("""<li>$item</li>""") |
609 <body> | 609 <body> |
610 wakka wakka wakka | 610 wakka wakka wakka |
611 </body> | 611 </body> |
612 </html>""", tmpl.generate().render()) | 612 </html>""", tmpl.generate().render()) |
613 | 613 |
614 def test_nested_include_matches(self): | |
615 # See ticket #157 | |
616 dirname = tempfile.mkdtemp(suffix='genshi_test') | |
617 try: | |
618 file1 = open(os.path.join(dirname, 'tmpl1.html'), 'w') | |
619 try: | |
620 file1.write("""<html xmlns:py="http://genshi.edgewall.org/" py:strip=""> | |
621 <div class="target">Some content.</div> | |
622 </html>""") | |
623 finally: | |
624 file1.close() | |
625 | |
626 file2 = open(os.path.join(dirname, 'tmpl2.html'), 'w') | |
627 try: | |
628 file2.write("""<html xmlns:py="http://genshi.edgewall.org/" | |
629 xmlns:xi="http://www.w3.org/2001/XInclude"> | |
630 <body> | |
631 <h1>Some full html document that includes file1.html</h1> | |
632 <xi:include href="tmpl1.html" /> | |
633 </body> | |
634 </html>""") | |
635 finally: | |
636 file2.close() | |
637 | |
638 file3 = open(os.path.join(dirname, 'tmpl3.html'), 'w') | |
639 try: | |
640 file3.write("""<html xmlns:py="http://genshi.edgewall.org/" | |
641 xmlns:xi="http://www.w3.org/2001/XInclude" py:strip=""> | |
642 <div py:match="div[@class='target']" py:attrs="select('@*')"> | |
643 Some added stuff. | |
644 ${select('*|text()')} | |
645 </div> | |
646 <xi:include href="tmpl2.html" /> | |
647 </html> | |
648 """) | |
649 finally: | |
650 file3.close() | |
651 | |
652 loader = TemplateLoader([dirname]) | |
653 tmpl = loader.load('tmpl3.html') | |
654 self.assertEqual(""" | |
655 <html> | |
656 <body> | |
657 <h1>Some full html document that includes file1.html</h1> | |
658 <div class="target"> | |
659 Some added stuff. | |
660 Some content. | |
661 </div> | |
662 </body> | |
663 </html> | |
664 """, tmpl.generate().render()) | |
665 finally: | |
666 shutil.rmtree(dirname) | |
667 | |
614 | 668 |
615 def suite(): | 669 def suite(): |
616 suite = unittest.TestSuite() | 670 suite = unittest.TestSuite() |
617 suite.addTest(doctest.DocTestSuite(MarkupTemplate.__module__)) | 671 suite.addTest(doctest.DocTestSuite(MarkupTemplate.__module__)) |
618 suite.addTest(unittest.makeSuite(MarkupTemplateTestCase, 'test')) | 672 suite.addTest(unittest.makeSuite(MarkupTemplateTestCase, 'test')) |