Linux ip-148-66-134-25.ip.secureserver.net 3.10.0-1160.119.1.el7.tuxcare.els10.x86_64 #1 SMP Fri Oct 11 21:40:41 UTC 2024 x86_64
Apache
: 148.66.134.25 | : 18.224.55.63
66 Domain
8.0.30
amvm
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
usr /
lib /
python2.7 /
site-packages /
jinja2 /
testsuite /
[ HOME SHELL ]
Name
Size
Permission
Action
res
[ DIR ]
drwxr-xr-x
__init__.py
4.53
KB
-rw-r--r--
__init__.pyc
6.32
KB
-rw-r--r--
__init__.pyo
6.32
KB
-rw-r--r--
api.py
10.14
KB
-rw-r--r--
api.pyc
12.96
KB
-rw-r--r--
api.pyo
11.26
KB
-rw-r--r--
bytecode_cache.py
928
B
-rw-r--r--
bytecode_cache.pyc
1.6
KB
-rw-r--r--
bytecode_cache.pyo
1.52
KB
-rw-r--r--
core_tags.py
11.58
KB
-rw-r--r--
core_tags.pyc
17.46
KB
-rw-r--r--
core_tags.pyo
14.64
KB
-rw-r--r--
debug.py
1.89
KB
-rw-r--r--
debug.pyc
3.05
KB
-rw-r--r--
debug.pyo
3.05
KB
-rw-r--r--
doctests.py
905
B
-rw-r--r--
doctests.pyc
1.16
KB
-rw-r--r--
doctests.pyo
1.16
KB
-rw-r--r--
ext.py
17.66
KB
-rw-r--r--
ext.pyc
22.57
KB
-rw-r--r--
ext.pyo
18.96
KB
-rw-r--r--
filters.py
18.72
KB
-rw-r--r--
filters.pyc
28.54
KB
-rw-r--r--
filters.pyo
24.28
KB
-rw-r--r--
imports.py
5.21
KB
-rw-r--r--
imports.pyc
6.66
KB
-rw-r--r--
imports.pyo
5.69
KB
-rw-r--r--
inheritance.py
8.05
KB
-rw-r--r--
inheritance.pyc
10.33
KB
-rw-r--r--
inheritance.pyo
8.32
KB
-rw-r--r--
lexnparse.py
21.79
KB
-rw-r--r--
lexnparse.pyc
32.97
KB
-rw-r--r--
lexnparse.pyo
27.24
KB
-rw-r--r--
loader.py
7.97
KB
-rw-r--r--
loader.pyc
10.38
KB
-rw-r--r--
loader.pyo
9
KB
-rw-r--r--
regression.py
8.19
KB
-rw-r--r--
regression.pyc
11.46
KB
-rw-r--r--
regression.pyo
9.96
KB
-rw-r--r--
security.py
6.06
KB
-rw-r--r--
security.pyc
8.37
KB
-rw-r--r--
security.pyo
7.4
KB
-rw-r--r--
tests.py
2.8
KB
-rw-r--r--
tests.pyc
4.7
KB
-rw-r--r--
tests.pyo
4.05
KB
-rw-r--r--
utils.py
2.18
KB
-rw-r--r--
utils.pyc
3.49
KB
-rw-r--r--
utils.pyo
3.19
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : inheritance.py
# -*- coding: utf-8 -*- """ jinja2.testsuite.inheritance ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Tests the template inheritance feature. :copyright: (c) 2010 by the Jinja Team. :license: BSD, see LICENSE for more details. """ import unittest from jinja2.testsuite import JinjaTestCase from jinja2 import Environment, DictLoader, TemplateError LAYOUTTEMPLATE = '''\ |{% block block1 %}block 1 from layout{% endblock %} |{% block block2 %}block 2 from layout{% endblock %} |{% block block3 %} {% block block4 %}nested block 4 from layout{% endblock %} {% endblock %}|''' LEVEL1TEMPLATE = '''\ {% extends "layout" %} {% block block1 %}block 1 from level1{% endblock %}''' LEVEL2TEMPLATE = '''\ {% extends "level1" %} {% block block2 %}{% block block5 %}nested block 5 from level2{% endblock %}{% endblock %}''' LEVEL3TEMPLATE = '''\ {% extends "level2" %} {% block block5 %}block 5 from level3{% endblock %} {% block block4 %}block 4 from level3{% endblock %} ''' LEVEL4TEMPLATE = '''\ {% extends "level3" %} {% block block3 %}block 3 from level4{% endblock %} ''' WORKINGTEMPLATE = '''\ {% extends "layout" %} {% block block1 %} {% if false %} {% block block2 %} this should workd {% endblock %} {% endif %} {% endblock %} ''' DOUBLEEXTENDS = '''\ {% extends "layout" %} {% extends "layout" %} {% block block1 %} {% if false %} {% block block2 %} this should workd {% endblock %} {% endif %} {% endblock %} ''' env = Environment(loader=DictLoader({ 'layout': LAYOUTTEMPLATE, 'level1': LEVEL1TEMPLATE, 'level2': LEVEL2TEMPLATE, 'level3': LEVEL3TEMPLATE, 'level4': LEVEL4TEMPLATE, 'working': WORKINGTEMPLATE, 'doublee': DOUBLEEXTENDS, }), trim_blocks=True) class InheritanceTestCase(JinjaTestCase): def test_layout(self): tmpl = env.get_template('layout') assert tmpl.render() == ('|block 1 from layout|block 2 from ' 'layout|nested block 4 from layout|') def test_level1(self): tmpl = env.get_template('level1') assert tmpl.render() == ('|block 1 from level1|block 2 from ' 'layout|nested block 4 from layout|') def test_level2(self): tmpl = env.get_template('level2') assert tmpl.render() == ('|block 1 from level1|nested block 5 from ' 'level2|nested block 4 from layout|') def test_level3(self): tmpl = env.get_template('level3') assert tmpl.render() == ('|block 1 from level1|block 5 from level3|' 'block 4 from level3|') def test_level4(sel): tmpl = env.get_template('level4') assert tmpl.render() == ('|block 1 from level1|block 5 from ' 'level3|block 3 from level4|') def test_super(self): env = Environment(loader=DictLoader({ 'a': '{% block intro %}INTRO{% endblock %}|' 'BEFORE|{% block data %}INNER{% endblock %}|AFTER', 'b': '{% extends "a" %}{% block data %}({{ ' 'super() }}){% endblock %}', 'c': '{% extends "b" %}{% block intro %}--{{ ' 'super() }}--{% endblock %}\n{% block data ' '%}[{{ super() }}]{% endblock %}' })) tmpl = env.get_template('c') assert tmpl.render() == '--INTRO--|BEFORE|[(INNER)]|AFTER' def test_working(self): tmpl = env.get_template('working') def test_reuse_blocks(self): tmpl = env.from_string('{{ self.foo() }}|{% block foo %}42' '{% endblock %}|{{ self.foo() }}') assert tmpl.render() == '42|42|42' def test_preserve_blocks(self): env = Environment(loader=DictLoader({ 'a': '{% if false %}{% block x %}A{% endblock %}{% endif %}{{ self.x() }}', 'b': '{% extends "a" %}{% block x %}B{{ super() }}{% endblock %}' })) tmpl = env.get_template('b') assert tmpl.render() == 'BA' def test_dynamic_inheritance(self): env = Environment(loader=DictLoader({ 'master1': 'MASTER1{% block x %}{% endblock %}', 'master2': 'MASTER2{% block x %}{% endblock %}', 'child': '{% extends master %}{% block x %}CHILD{% endblock %}' })) tmpl = env.get_template('child') for m in range(1, 3): assert tmpl.render(master='master%d' % m) == 'MASTER%dCHILD' % m def test_multi_inheritance(self): env = Environment(loader=DictLoader({ 'master1': 'MASTER1{% block x %}{% endblock %}', 'master2': 'MASTER2{% block x %}{% endblock %}', 'child': '''{% if master %}{% extends master %}{% else %}{% extends 'master1' %}{% endif %}{% block x %}CHILD{% endblock %}''' })) tmpl = env.get_template('child') assert tmpl.render(master='master2') == 'MASTER2CHILD' assert tmpl.render(master='master1') == 'MASTER1CHILD' assert tmpl.render() == 'MASTER1CHILD' def test_scoped_block(self): env = Environment(loader=DictLoader({ 'master.html': '{% for item in seq %}[{% block item scoped %}' '{% endblock %}]{% endfor %}' })) t = env.from_string('{% extends "master.html" %}{% block item %}' '{{ item }}{% endblock %}') assert t.render(seq=list(range(5))) == '[0][1][2][3][4]' def test_super_in_scoped_block(self): env = Environment(loader=DictLoader({ 'master.html': '{% for item in seq %}[{% block item scoped %}' '{{ item }}{% endblock %}]{% endfor %}' })) t = env.from_string('{% extends "master.html" %}{% block item %}' '{{ super() }}|{{ item * 2 }}{% endblock %}') assert t.render(seq=list(range(5))) == '[0|0][1|2][2|4][3|6][4|8]' def test_scoped_block_after_inheritance(self): env = Environment(loader=DictLoader({ 'layout.html': ''' {% block useless %}{% endblock %} ''', 'index.html': ''' {%- extends 'layout.html' %} {% from 'helpers.html' import foo with context %} {% block useless %} {% for x in [1, 2, 3] %} {% block testing scoped %} {{ foo(x) }} {% endblock %} {% endfor %} {% endblock %} ''', 'helpers.html': ''' {% macro foo(x) %}{{ the_foo + x }}{% endmacro %} ''' })) rv = env.get_template('index.html').render(the_foo=42).split() assert rv == ['43', '44', '45'] class BugFixTestCase(JinjaTestCase): def test_fixed_macro_scoping_bug(self): assert Environment(loader=DictLoader({ 'test.html': '''\ {% extends 'details.html' %} {% macro my_macro() %} my_macro {% endmacro %} {% block inner_box %} {{ my_macro() }} {% endblock %} ''', 'details.html': '''\ {% extends 'standard.html' %} {% macro my_macro() %} my_macro {% endmacro %} {% block content %} {% block outer_box %} outer_box {% block inner_box %} inner_box {% endblock %} {% endblock %} {% endblock %} ''', 'standard.html': ''' {% block content %} {% endblock %} ''' })).get_template("test.html").render().split() == [u'outer_box', u'my_macro'] def test_double_extends(self): """Ensures that a template with more than 1 {% extends ... %} usage raises a ``TemplateError``. """ try: tmpl = env.get_template('doublee') except Exception as e: assert isinstance(e, TemplateError) def suite(): suite = unittest.TestSuite() suite.addTest(unittest.makeSuite(InheritanceTestCase)) suite.addTest(unittest.makeSuite(BugFixTestCase)) return suite
Close