File: test_streaming.py

package info (click to toggle)
jinja 1.2-3
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 1,412 kB
  • ctags: 1,171
  • sloc: python: 6,438; ansic: 397; makefile: 74
file content (51 lines) | stat: -rw-r--r-- 1,206 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# -*- coding: utf-8 -*-
"""
    unit test for streaming interface
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    :copyright: 2007 by Armin Ronacher.
    :license: BSD, see LICENSE for more details.
"""


test_basic_streaming = r"""
>>> tmpl = env.from_string("<ul>{% for item in seq %}<li>{{ loop.index "
...                        "}} - {{ item }}</li>{%- endfor %}</ul>")
>>> stream = tmpl.stream(seq=range(4))
>>> stream.next()
u'<ul>'
>>> stream.next()
u'<li>1 - 0</li>'
>>> stream.next()
u'<li>2 - 1</li>'
>>> stream.next()
u'<li>3 - 2</li>'
>>> stream.next()
u'<li>4 - 3</li>'
>>> stream.next()
u'</ul>'
"""

test_buffered_streaming = r"""
>>> tmpl = env.from_string("<ul>{% for item in seq %}<li>{{ loop.index "
...                        "}} - {{ item }}</li>{%- endfor %}</ul>")
>>> stream = tmpl.stream(seq=range(4))
>>> stream.enable_buffering(size=3)
>>> stream.next()
u'<ul><li>1 - 0</li><li>2 - 1</li>'
>>> stream.next()
u'<li>3 - 2</li><li>4 - 3</li></ul>'
"""

test_streaming_behavior = r"""
>>> tmpl = env.from_string("")
>>> stream = tmpl.stream()
>>> stream.buffered
False
>>> stream.enable_buffering(20)
>>> stream.buffered
True
>>> stream.disable_buffering()
>>> stream.buffered
False
"""