Exemplo n.º 1
0
 def test_autoescape(self):
     t = template.Template(r"<{{x}}>")
     self.assertEqual(t.generate(x="<"), "<&lt;>")
     self.assertEqual(t.generate(x=">"), "<&gt;>")
     t2 = template.Template(r"{% autoescape None %}<{{x}}>")
     self.assertEqual(t2.generate(x="<"), "<<>")
     self.assertEqual(t2.generate(x=">"), "<>>")
Exemplo n.º 2
0
 def test_set(self):
     self.assertEqual(
         template.Template(r"{% set x=42 %}{{ val + x }}").generate(
             val=-42), "0")
     self.assertEqual(
         template.Template(r"{% set x=val2 %}{{ val + x }}").generate(
             val=1, val2=10), "11")
Exemplo n.º 3
0
 def test_loops(self):
     self.assertEqual(
         template.Template(
             r"{% for x in [1,2,3,4] %}{{ x }}:{% end %}").generate(),
         "1:2:3:4:")
     self.assertEqual(
         template.Template(
             r"{% set x=0 %}{% while x < 10 %}{{x}};{% set x += 2 %}{% end %}"
         ).generate(), "0;2;4;6;8;")
Exemplo n.º 4
0
 def test_if(self):
     t = template.Template(
         r"{% if a == 1 %}One{% elif a < 0 %}Negative{% elif isinstance(a, basestring) %}String{% else %}Unknown{% end %}"
     )
     self.assertEqual(t.generate(a=1), b"One")
     self.assertEqual(t.generate(a=-1), b"Negative")
     self.assertEqual(t.generate(a=-1.67), b"Negative")
     self.assertEqual(t.generate(a=-100), b"Negative")
     self.assertEqual(t.generate(a=42), b"Unknown")
     self.assertEqual(t.generate(a=42.5), b"Unknown")
     self.assertEqual(t.generate(a="meow"), b"String")
Exemplo n.º 5
0
    def test_deferreds(self):
        def _mkDeferred(rv, delay=None):
            d = defer.Deferred()
            if delay is None:
                d.callback(rv)
            else:
                reactor.callLater(delay, d.callback, rv)
            return d

        # Test that template immidiatly resolves deferreds if possible
        t = template.Template(r"-) {{x}} <-> {{y(63)}} :!")
        self.assertEqual(t.generate(x=_mkDeferred(42), y=_mkDeferred),
                         "-) 42 <-> 63 :!")

        # Test delayed execution
        d = t.generate(x=_mkDeferred("hello", 0.1),
                       y=lambda val: _mkDeferred(val - 60, 0.5))
        self.assertTrue(isinstance(d, defer.Deferred), d)
        txt = yield d
        self.assertEqual(txt, "-) hello <-> 3 :!")
Exemplo n.º 6
0
 def test_comment(self):
     self.assertEqual(
         template.Template(r"{% comment blah! %}42").generate(), b"42")
Exemplo n.º 7
0
 def test_simple_var(self):
     t = template.Template(r"My name is: {{ name }}")
     self.assertEqual(t.generate(name="Alice"), "My name is: Alice")
     self.assertEqual(t.generate(name="Bob"), "My name is: Bob")