本文整理汇总了Python中pybars.tests.test__compiler.render函数的典型用法代码示例。如果您正苦于以下问题:Python render函数的具体用法?Python render怎么用?Python render使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了render函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: test_block_helper_inverted_sections
def test_block_helper_inverted_sections(self):
def list(this, options, context):
if len(context):
out = "<ul>"
for thing in context:
out += "<li>"
out += str_class(options['fn'](thing))
out += "</li>"
out += "</ul>"
return out
else:
return "<p>" + str_class(options['inverse'](this)) + "</p>"
context = {'people': [{'name': "Alan"}, {'name': "Yehuda"}]}
empty = {'people': []}
rootMessage = {'people': [], 'message': "Nobody's here"}
src1 = u"{{#list people}}{{name}}{{^}}<em>Nobody's here</em>{{/list}}"
src2 = u"{{#list people}}Hello{{^}}{{message}}{{/list}}"
src3 = u"{{#list people}}{{name}}{{else}}<em>Nobody's here</em>{{/list}}"
helpers = {'list': list}
# inverse not executed by helper:
self.assertEqual("<ul><li>Alan</li><li>Yehuda</li></ul>",
render(src1, context, helpers))
# inverse can be called by a helper
self.assertEqual("<p><em>Nobody's here</em></p>",
render(src1, empty, helpers))
# the expected context of the inverse is the this parameter to block
# helpers.
self.assertEqual("<p>Nobody's here</p>",
render(src2, rootMessage, helpers=helpers))
# inverse can also be denoted by 'else':
self.assertEqual("<ul><li>Alan</li><li>Yehuda</li></ul>",
render(src3, context, helpers))
self.assertEqual("<p><em>Nobody's here</em></p>",
render(src3, empty, helpers))
开发者ID:closeio,项目名称:pybars,代码行数:34,代码来源:test_acceptance.py
示例2: test_zeros
def test_zeros(self):
self.assertEqual("num1: 42, num2: 0",
render(u"num1: {{num1}}, num2: {{num2}}", {'num1': 42, 'num2': 0}))
self.assertEqual("num: 0",
render(u"num: {{.}}", 0))
self.assertEqual("num: 0",
render(u"num: {{num1/num2}}", {'num1': {'num2': 0}}))
开发者ID:closeio,项目名称:pybars,代码行数:7,代码来源:test_acceptance.py
示例3: test_negative_int_literal
def test_negative_int_literal(self):
self.assertEqual("str int int",
render(u"{{type \"string\"}} {{type 1}} {{type -1}}", None,
helpers={'type': lambda s, v: type(v).__name__}))
self.assertEqual("string 1 -1",
render(u"{{echo \"string\"}} {{echo 1}} {{echo -1}}", None,
helpers={'echo': lambda s, v: str(v)}))
开发者ID:closeio,项目名称:pybars,代码行数:7,代码来源:test_acceptance.py
示例4: test_escaping_expressions
def test_escaping_expressions(self):
self.assertEqual('&\"\\<>',
render(u"{{{awesome}}}", {'awesome': "&\"\\<>"}))
self.assertEqual('&\"\\<>',
render(u"{{&awesome}}", {'awesome': "&\"\\<>"}))
self.assertEqual(u'&"'`\\<>',
render(u"{{awesome}}", {'awesome': "&\"'`\\<>"}))
开发者ID:closeio,项目名称:pybars,代码行数:7,代码来源:test_acceptance.py
示例5: test_providing_a_helpers_hash
def test_providing_a_helpers_hash(self):
self.assertEqual("Goodbye cruel world!",
render(u"Goodbye {{cruel}} {{world}}!", {'cruel': "cruel"},
helpers={'world': "world"}))
self.assertEqual("Goodbye cruel world!",
render(u"Goodbye {{#iter}}{{cruel}} {{world}}{{/iter}}!",
{'iter': [{'cruel': "cruel"}]},
helpers={'world': "world"}))
开发者ID:closeio,项目名称:pybars,代码行数:8,代码来源:test_acceptance.py
示例6: test_booleans
def test_booleans(self):
template = u"{{#goodbye}}GOODBYE {{/goodbye}}cruel {{world}}!"
self.assertEqual(
"GOODBYE cruel world!",
render(template, {'goodbye': True, 'world': 'world'}))
self.assertEqual(
"cruel world!",
render(template, {'goodbye': False, 'world': 'world'}))
开发者ID:closeio,项目名称:pybars,代码行数:8,代码来源:test_acceptance.py
示例7: test_functions_can_take_context_arguments
def test_functions_can_take_context_arguments(self):
def awesome(this, context):
return context
self.assertEqual("Frank",
render(u"{{awesome frank}}",
{'awesome': awesome, 'frank': 'Frank'}))
self.assertEqual("Frank",
render(u"{{{awesome frank}}}",
{'awesome': awesome, 'frank': 'Frank'}))
开发者ID:closeio,项目名称:pybars,代码行数:9,代码来源:test_acceptance.py
示例8: test_each
def test_each(self):
source = u"{{#each goodbyes}}{{text}}! {{/each}}cruel {{world}}!"
context = {'goodbyes':
[{'text': "goodbye"}, {'text': "Goodbye"}, {'text': "GOODBYE"}],
'world': "world"}
self.assertEqual("goodbye! Goodbye! GOODBYE! cruel world!",
render(source, context))
self.assertEqual("cruel world!",
render(source, {'goodbyes': [], 'world': "world"}))
开发者ID:closeio,项目名称:pybars,代码行数:9,代码来源:test_acceptance.py
示例9: test_empty_block
def test_empty_block(self):
source = u"{{#goodbyes}}{{/goodbyes}}cruel {{world}}!"
context = {
'goodbyes': [
{'text': "goodbye"}, {'text': "Goodbye"}, {'text': "GOODBYE"}],
'world': "world"}
self.assertEqual("cruel world!", render(source, context))
self.assertEqual("cruel world!",
render(source, {'goodbyes': [], 'world': "world"}))
开发者ID:closeio,项目名称:pybars,代码行数:9,代码来源:test_acceptance.py
示例10: test_in_cases_of_conflict_helpers_before_context
def test_in_cases_of_conflict_helpers_before_context(self):
self.assertEqual("helpers",
render(u"{{lookup}}", {'lookup': 'Explicit'},
helpers={'lookup': 'helpers'}))
self.assertEqual("helpers",
render(u"{{{lookup}}}", {'lookup': 'Explicit'},
helpers={'lookup': 'helpers'}))
self.assertEqual("Explicit",
render(u"{{#lookup}}Explicit{{/lookup}}", {'lookup': []},
helpers={'lookup': [{}]}))
开发者ID:closeio,项目名称:pybars,代码行数:10,代码来源:test_acceptance.py
示例11: test_inverted_sections
def test_inverted_sections(self):
source = (
u"{{#goodbyes}}{{this}}{{/goodbyes}}"
u"{{^goodbyes}}Right On!{{/goodbyes}}")
# Unset value
self.assertEqual("Right On!", render(source, {}))
# False value
self.assertEqual("Right On!", render(source, {'goodbyes': False}))
# Empty list
self.assertEqual("Right On!", render(source, {'goodbyes': []}))
开发者ID:closeio,项目名称:pybars,代码行数:10,代码来源:test_acceptance.py
示例12: test_if_with_function_argument
def test_if_with_function_argument(self):
source = u"{{#if goodbye}}GOODBYE {{/if}}cruel {{world}}!"
self.assertEqual(u"GOODBYE cruel world!",
render(source, {'goodbye': lambda this: True, 'world': "world"}))
self.assertEqual(u"GOODBYE cruel world!",
render(source,
{'goodbye': lambda this: this['world'], 'world': "world"}))
self.assertEqual(u"cruel world!",
render(source, {'goodbye': lambda this: False, 'world': "world"}))
self.assertEqual(u"cruel world!",
render(source, {'goodbye': lambda this: None, 'world': "world"}))
开发者ID:closeio,项目名称:pybars,代码行数:11,代码来源:test_acceptance.py
示例13: test_block_helpers_can_take_an_optional_hash_with_booleans
def test_block_helpers_can_take_an_optional_hash_with_booleans(self):
def goodbye(this, options, cruel, _print):
if _print is True:
return "GOODBYE " + cruel + " " + str_class(options['fn'](this))
elif _print is False:
return "NOT PRINTING"
else:
return "THIS SHOULD NOT HAPPEN"
helpers = {'goodbye': goodbye}
self.assertEqual("GOODBYE CRUEL world",
render(u'{{#goodbye cruel="CRUEL" _print=true}}world{{/goodbye}}',
{}, helpers=helpers))
self.assertEqual("NOT PRINTING",
render(u'{{#goodbye cruel="CRUEL" _print=false}}world{{/goodbye}}',
{}, helpers=helpers))
开发者ID:closeio,项目名称:pybars,代码行数:15,代码来源:test_acceptance.py
示例14: test_helpers_can_take_an_optional_hash_with_booleans
def test_helpers_can_take_an_optional_hash_with_booleans(self):
def goodbye(this, cruel, world, _print):
if _print is True:
return "GOODBYE " + cruel + " " + world
elif _print is False:
return "NOT PRINTING"
else:
return "THIS SHOULD NOT HAPPEN"
helpers = {'goodbye': goodbye}
self.assertEqual("GOODBYE CRUEL WORLD",
render(u'{{goodbye cruel="CRUEL" world="WORLD" _print=true}}',
{}, helpers=helpers))
self.assertEqual("NOT PRINTING",
render(u'{{goodbye cruel="CRUEL" world="WORLD" _print=false}}',
{}, helpers=helpers))
开发者ID:closeio,项目名称:pybars,代码行数:15,代码来源:test_acceptance.py
示例15: test_block_helpers_can_take_an_optional_hash
def test_block_helpers_can_take_an_optional_hash(self):
source = u'{{#goodbye cruel="CRUEL" times=12}}world{{/goodbye}}'
def goodbye(this, options, times, cruel):
return "GOODBYE " + cruel + " " + str_class(options['fn'](this)) + " " + str(times) + " TIMES"
helpers = {'goodbye': goodbye}
self.assertEqual("GOODBYE CRUEL world 12 TIMES",
render(source, {}, helpers=helpers))
开发者ID:closeio,项目名称:pybars,代码行数:7,代码来源:test_acceptance.py
示例16: test_parent_lookup
def test_parent_lookup(self):
source = u"{{#goodbyes}}{{text}} cruel {{@_parent.name}}! {{/goodbyes}}"
context = {'name': "Alan", 'goodbyes': [
{'text': "goodbye"}, {'text': "Goodbye"}, {'text': "GOODBYE"}]}
self.assertEqual(
"goodbye cruel Alan! Goodbye cruel Alan! GOODBYE cruel Alan! ",
render(source, context))
开发者ID:closeio,项目名称:pybars,代码行数:7,代码来源:test_acceptance.py
示例17: test_lambdas_are_resolved_by_blockHelperMissing_not_handlebars_proper
def test_lambdas_are_resolved_by_blockHelperMissing_not_handlebars_proper(self):
# Probably should be called 'lambdas in the context are called as
# though for a simple block' - it wants to check moustache
# compatibility which allows all block stuff to be overridden via
# blockHelperMissing
source = u"{{#truthy}}yep{{/truthy}}"
self.assertEqual("yep", render(source, {'truthy': lambda this: True}))
开发者ID:closeio,项目名称:pybars,代码行数:7,代码来源:test_acceptance.py
示例18: test_log
def test_log(self):
source = u"{{log blah}}"
context = {'blah': "whee"}
log = []
self.patch(pybars, 'log', log.append)
self.assertEqual("", render(source, context))
self.assertEqual(["whee"], log)
开发者ID:closeio,项目名称:pybars,代码行数:7,代码来源:test_acceptance.py
示例19: test_block_helper_passing_a_complex_path_context
def test_block_helper_passing_a_complex_path_context(self):
source = u"{{#form yehuda/cat}}<p>{{name}}</p>{{/form}}"
def form(this, options, context):
return u"<form>" + str_class(options['fn'](context)) + u"</form>"
context = {'yehuda': {'name': "Yehuda", 'cat': {'name': "Harold"}}}
self.assertEqual("<form><p>Harold</p></form>",
render(source, context, helpers={'form': form}))
开发者ID:closeio,项目名称:pybars,代码行数:7,代码来源:test_acceptance.py
示例20: test_simple_multi_params_work
def test_simple_multi_params_work(self):
source = u'Message: {{goodbye cruel world}}'
context = {'cruel': "cruel", 'world': "world"}
def goodbye(this, cruel, world):
return "Goodbye " + cruel + " " + world
self.assertEqual("Message: Goodbye cruel world",
render(source, context, helpers=dict(goodbye=goodbye)))
开发者ID:closeio,项目名称:pybars,代码行数:7,代码来源:test_acceptance.py
注:本文中的pybars.tests.test__compiler.render函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论