├── app ├── empty └── home │ ├── home.html │ └── home.php ├── assets └── empty ├── bin └── empty ├── core ├── empty ├── page.php └── functions.php ├── config.php ├── README.md ├── composer.json └── vendor ├── twig └── twig │ ├── test │ ├── Twig │ │ └── Tests │ │ │ ├── Loader │ │ │ └── Fixtures │ │ │ │ ├── normal │ │ │ │ └── index.html │ │ │ │ ├── named │ │ │ │ └── index.html │ │ │ │ ├── normal_bis │ │ │ │ └── index.html │ │ │ │ ├── normal_ter │ │ │ │ └── index.html │ │ │ │ ├── named_bis │ │ │ │ └── index.html │ │ │ │ ├── named_ter │ │ │ │ └── index.html │ │ │ │ ├── normal_final │ │ │ │ └── index.html │ │ │ │ ├── named_final │ │ │ │ └── index.html │ │ │ │ ├── named_quater │ │ │ │ └── named_absolute.html │ │ │ │ ├── inheritance │ │ │ │ ├── parent.html.twig │ │ │ │ ├── spare_parent.html.twig │ │ │ │ ├── array_inheritance_empty_parent.html.twig │ │ │ │ ├── array_inheritance_null_parent.html.twig │ │ │ │ ├── array_inheritance_valid_parent.html.twig │ │ │ │ └── array_inheritance_nonexistent_parent.html.twig │ │ │ │ └── themes │ │ │ │ ├── theme2 │ │ │ │ └── blocks.html.twig │ │ │ │ └── theme1 │ │ │ │ └── blocks.html.twig │ │ │ ├── Fixtures │ │ │ ├── errors │ │ │ │ ├── base.html │ │ │ │ └── index.html │ │ │ ├── tags │ │ │ │ ├── special_chars.test │ │ │ │ ├── raw │ │ │ │ │ ├── basic.test │ │ │ │ │ ├── mixed_usage_with_raw.test │ │ │ │ │ └── whitespace_control.test │ │ │ │ ├── verbatim │ │ │ │ │ ├── basic.test │ │ │ │ │ ├── mixed_usage_with_raw.test │ │ │ │ │ └── whitespace_control.test │ │ │ │ ├── block │ │ │ │ │ ├── special_chars.test │ │ │ │ │ ├── basic.test │ │ │ │ │ └── block_unique_name.test │ │ │ │ ├── set │ │ │ │ │ ├── capture-empty.test │ │ │ │ │ ├── capture.test │ │ │ │ │ ├── expression.test │ │ │ │ │ └── basic.test │ │ │ │ ├── filter │ │ │ │ │ ├── json_encode.test │ │ │ │ │ ├── multiple.test │ │ │ │ │ ├── basic.test │ │ │ │ │ ├── with_for_tag.test │ │ │ │ │ ├── nested.test │ │ │ │ │ └── with_if_tag.test │ │ │ │ ├── use │ │ │ │ │ ├── deep_empty.test │ │ │ │ │ ├── basic.test │ │ │ │ │ ├── aliases.test │ │ │ │ │ ├── deep.test │ │ │ │ │ ├── multiple.test │ │ │ │ │ ├── multiple_aliases.test │ │ │ │ │ ├── parent_block2.test │ │ │ │ │ ├── inheritance2.test │ │ │ │ │ ├── inheritance.test │ │ │ │ │ └── parent_block.test │ │ │ │ ├── include │ │ │ │ │ ├── missing.test │ │ │ │ │ ├── basic.test │ │ │ │ │ ├── templates_as_array.test │ │ │ │ │ ├── template_instance.test │ │ │ │ │ ├── expression.test │ │ │ │ │ ├── with_variables.test │ │ │ │ │ ├── ignore_missing.test │ │ │ │ │ ├── missing_nested.test │ │ │ │ │ └── only.test │ │ │ │ ├── inheritance │ │ │ │ │ ├── empty.test │ │ │ │ │ ├── parent_in_a_block.test │ │ │ │ │ ├── extends_as_array.test │ │ │ │ │ ├── extends_as_array_with_empty_name.test │ │ │ │ │ ├── extends_as_array_with_null_name.test │ │ │ │ │ ├── basic.test │ │ │ │ │ ├── dynamic.test │ │ │ │ │ ├── parent_without_extends.test │ │ │ │ │ ├── parent.test │ │ │ │ │ ├── parent_without_extends_but_traits.test │ │ │ │ │ ├── parent_change.test │ │ │ │ │ ├── nested_blocks_parent_only.test │ │ │ │ │ ├── template_instance.test │ │ │ │ │ ├── multiple.test │ │ │ │ │ ├── nested_inheritance.test │ │ │ │ │ ├── conditional.test │ │ │ │ │ ├── parent_nested.test │ │ │ │ │ ├── nested_blocks.test │ │ │ │ │ ├── parent_isolation.test │ │ │ │ │ ├── multiple_dynamic.test │ │ │ │ │ ├── block_expr.test │ │ │ │ │ └── block_expr2.test │ │ │ │ ├── for │ │ │ │ │ ├── keys.test │ │ │ │ │ ├── values.test │ │ │ │ │ ├── keys_and_values.test │ │ │ │ │ ├── loop_context_local.test │ │ │ │ │ ├── loop_not_defined_cond.test │ │ │ │ │ ├── loop_not_defined.test │ │ │ │ │ ├── condition.test │ │ │ │ │ ├── context.test │ │ │ │ │ ├── inner_variables.test │ │ │ │ │ ├── nested_else.test │ │ │ │ │ ├── recursive.test │ │ │ │ │ ├── loop_context.test │ │ │ │ │ └── else.test │ │ │ │ ├── autoescape │ │ │ │ │ ├── double_escaping.test │ │ │ │ │ ├── raw.test │ │ │ │ │ ├── blocks.test │ │ │ │ │ ├── strategy.test │ │ │ │ │ ├── nested.test │ │ │ │ │ ├── objects.test │ │ │ │ │ ├── with_filters_arguments.test │ │ │ │ │ └── basic.test │ │ │ │ ├── macro │ │ │ │ │ ├── special_chars.test │ │ │ │ │ ├── super_globals.test │ │ │ │ │ ├── global.test │ │ │ │ │ ├── endmacro_name.test │ │ │ │ │ ├── from.test │ │ │ │ │ ├── basic.test │ │ │ │ │ ├── self_import.test │ │ │ │ │ └── external.test │ │ │ │ ├── spaceless │ │ │ │ │ └── simple.test │ │ │ │ ├── sandbox │ │ │ │ │ ├── not_valid1.test │ │ │ │ │ ├── not_valid2.test │ │ │ │ │ └── simple.test │ │ │ │ ├── from.test │ │ │ │ ├── if │ │ │ │ │ ├── expression.test │ │ │ │ │ └── basic.test │ │ │ │ └── embed │ │ │ │ │ ├── error_line.test │ │ │ │ │ ├── basic.test │ │ │ │ │ ├── nested.test │ │ │ │ │ └── multiple.test │ │ │ ├── filters │ │ │ │ ├── special_chars.test │ │ │ │ ├── escape.test │ │ │ │ ├── escape_non_supported_charset.test │ │ │ │ ├── format.test │ │ │ │ ├── dynamic_filter.test │ │ │ │ ├── replace.test │ │ │ │ ├── sort.test │ │ │ │ ├── escape_html_attr.test │ │ │ │ ├── join.test │ │ │ │ ├── length_utf8.test │ │ │ │ ├── json_encode.test │ │ │ │ ├── last.test │ │ │ │ ├── convert_encoding.test │ │ │ │ ├── length.test │ │ │ │ ├── first.test │ │ │ │ ├── trim.test │ │ │ │ ├── round.test │ │ │ │ ├── date_default_format.test │ │ │ │ ├── force_escape.test │ │ │ │ ├── number_format.test │ │ │ │ ├── date_modify.test │ │ │ │ ├── merge.test │ │ │ │ ├── nl2br.test │ │ │ │ ├── date_default_format_interval.test │ │ │ │ ├── date_namedargs.test │ │ │ │ ├── reverse.test │ │ │ │ ├── abs.test │ │ │ │ ├── number_format_default.test │ │ │ │ ├── split.test │ │ │ │ ├── split_utf8.test │ │ │ │ ├── date_interval.test │ │ │ │ ├── urlencode.test │ │ │ │ ├── urlencode_deprecated.test │ │ │ │ ├── batch_with_empty_fill.test │ │ │ │ ├── batch_with_fill.test │ │ │ │ ├── batch_float.test │ │ │ │ └── batch.test │ │ │ ├── functions │ │ │ │ ├── special_chars.test │ │ │ │ ├── range.test │ │ │ │ ├── dynamic_function.test │ │ │ │ ├── include │ │ │ │ │ ├── missing.test │ │ │ │ │ ├── autoescaping.test │ │ │ │ │ ├── assignment.test │ │ │ │ │ ├── basic.test │ │ │ │ │ ├── template_instance.test │ │ │ │ │ ├── templates_as_array.test │ │ │ │ │ ├── expression.test │ │ │ │ │ ├── with_variables.test │ │ │ │ │ ├── sandbox.test │ │ │ │ │ ├── ignore_missing.test │ │ │ │ │ ├── missing_nested.test │ │ │ │ │ └── with_context.test │ │ │ │ ├── max.test │ │ │ │ ├── min.test │ │ │ │ ├── source.test │ │ │ │ ├── constant.test │ │ │ │ ├── block.test │ │ │ │ ├── dump.test │ │ │ │ ├── cycle.test │ │ │ │ ├── date_namedargs.test │ │ │ │ ├── template_from_string.test │ │ │ │ ├── dump_array.test │ │ │ │ └── attribute.test │ │ │ ├── expressions │ │ │ │ ├── grouping.test │ │ │ │ ├── ternary_operator_noelse.test │ │ │ │ ├── ternary_operator_nothen.test │ │ │ │ ├── unary_precedence.test │ │ │ │ ├── unary.test │ │ │ │ ├── strings.test │ │ │ │ ├── negative_numbers.test │ │ │ │ ├── bitwise.test │ │ │ │ ├── matches.test │ │ │ │ ├── two_word_operators_as_variables.test │ │ │ │ ├── array_call.test │ │ │ │ ├── literals.test │ │ │ │ ├── operators_as_variables.test │ │ │ │ ├── comparison.test │ │ │ │ ├── divisibleby.test │ │ │ │ ├── postfix.test │ │ │ │ ├── sameas.test │ │ │ │ ├── ternary_operator.test │ │ │ │ ├── magic_call.test │ │ │ │ ├── method_call.test │ │ │ │ ├── dotdot.test │ │ │ │ ├── ends_with.test │ │ │ │ ├── starts_with.test │ │ │ │ ├── binary.test │ │ │ │ └── unary_macro_arguments.test │ │ │ ├── regression │ │ │ │ ├── empty_token.test │ │ │ │ ├── strings_like_numbers.test │ │ │ │ ├── multi_word_tests.test │ │ │ │ ├── combined_debug_info.test │ │ │ │ ├── issue_1143.test │ │ │ │ └── simple_xml_element.test │ │ │ ├── tests │ │ │ │ ├── odd.test │ │ │ │ ├── even.test │ │ │ │ ├── in_with_objects.test │ │ │ │ ├── constant.test │ │ │ │ ├── iterable.test │ │ │ │ └── array.test │ │ │ ├── exceptions │ │ │ │ ├── undefined_parent.test │ │ │ │ ├── undefined_trait.test │ │ │ │ ├── multiline_tag_with_undefined_variable.test │ │ │ │ ├── multiline_function_with_undefined_variable.test │ │ │ │ ├── multiline_function_with_unknown_argument.test │ │ │ │ ├── multiline_array_with_undefined_variable_again.test │ │ │ │ ├── unclosed_tag.test │ │ │ │ └── multiline_array_with_undefined_variable.test │ │ │ ├── macros │ │ │ │ ├── reserved_variables.test │ │ │ │ ├── with_filters.test │ │ │ │ ├── default_values.test │ │ │ │ ├── nested_calls.test │ │ │ │ └── simple.test │ │ │ └── autoescape │ │ │ │ └── filename.test │ │ │ ├── Node │ │ │ ├── Expression │ │ │ │ ├── PHP53 │ │ │ │ │ ├── TestInclude.php │ │ │ │ │ ├── FilterInclude.php │ │ │ │ │ └── FunctionInclude.php │ │ │ │ ├── AssignNameTest.php │ │ │ │ ├── ConstantTest.php │ │ │ │ ├── ParentTest.php │ │ │ │ └── Unary │ │ │ │ │ ├── NotTest.php │ │ │ │ │ └── PosTest.php │ │ │ ├── TextTest.php │ │ │ ├── BlockReferenceTest.php │ │ │ ├── PrintTest.php │ │ │ └── DoTest.php │ │ │ ├── AutoloaderTest.php │ │ │ └── Profiler │ │ │ └── Dumper │ │ │ └── TextTest.php │ └── bootstrap.php │ ├── .gitignore │ ├── ext │ └── twig │ │ ├── config.w32 │ │ ├── config.m4 │ │ └── .gitignore │ ├── doc │ ├── filters │ │ ├── lower.rst │ │ ├── upper.rst │ │ ├── length.rst │ │ ├── keys.rst │ │ ├── capitalize.rst │ │ ├── title.rst │ │ ├── abs.rst │ │ ├── sort.rst │ │ ├── striptags.rst │ │ ├── format.rst │ │ ├── replace.rst │ │ ├── nl2br.rst │ │ ├── join.rst │ │ ├── index.rst │ │ ├── json_encode.rst │ │ ├── last.rst │ │ ├── first.rst │ │ ├── trim.rst │ │ ├── date_modify.rst │ │ └── convert_encoding.rst │ ├── tests │ │ ├── odd.rst │ │ ├── even.rst │ │ ├── index.rst │ │ ├── null.rst │ │ ├── empty.rst │ │ ├── divisibleby.rst │ │ ├── sameas.rst │ │ ├── iterable.rst │ │ ├── constant.rst │ │ └── defined.rst │ ├── tags │ │ ├── do.rst │ │ ├── from.rst │ │ ├── index.rst │ │ ├── flush.rst │ │ ├── block.rst │ │ ├── filter.rst │ │ ├── verbatim.rst │ │ └── sandbox.rst │ ├── functions │ │ ├── index.rst │ │ ├── block.rst │ │ ├── min.rst │ │ ├── max.rst │ │ ├── constant.rst │ │ ├── source.rst │ │ ├── parent.rst │ │ ├── cycle.rst │ │ └── attribute.rst │ └── index.rst │ ├── .editorconfig │ ├── lib │ └── Twig │ │ ├── Node │ │ ├── Body.php │ │ ├── Expression │ │ │ ├── Binary │ │ │ │ ├── Equal.php │ │ │ │ ├── Less.php │ │ │ │ ├── Greater.php │ │ │ │ ├── LessEqual.php │ │ │ │ ├── NotEqual.php │ │ │ │ ├── GreaterEqual.php │ │ │ │ ├── Add.php │ │ │ │ ├── And.php │ │ │ │ ├── Div.php │ │ │ │ ├── Mod.php │ │ │ │ ├── Mul.php │ │ │ │ ├── Or.php │ │ │ │ ├── Sub.php │ │ │ │ ├── Concat.php │ │ │ │ ├── BitwiseOr.php │ │ │ │ ├── BitwiseAnd.php │ │ │ │ ├── BitwiseXor.php │ │ │ │ ├── Matches.php │ │ │ │ └── FloorDiv.php │ │ │ ├── Unary │ │ │ │ ├── Neg.php │ │ │ │ ├── Not.php │ │ │ │ └── Pos.php │ │ │ ├── Constant.php │ │ │ ├── TempName.php │ │ │ ├── AssignName.php │ │ │ ├── Test │ │ │ │ ├── Null.php │ │ │ │ ├── Odd.php │ │ │ │ ├── Even.php │ │ │ │ ├── Sameas.php │ │ │ │ └── Divisibleby.php │ │ │ └── Unary.php │ │ ├── Expression.php │ │ └── Flush.php │ │ ├── NodeOutputInterface.php │ │ ├── Sandbox │ │ ├── SecurityError.php │ │ ├── SecurityPolicyInterface.php │ │ └── SecurityNotAllowedTagError.php │ │ ├── Error │ │ ├── Runtime.php │ │ └── Syntax.php │ │ ├── TestCallableInterface.php │ │ ├── FilterCallableInterface.php │ │ ├── FunctionCallableInterface.php │ │ ├── TestInterface.php │ │ ├── NodeInterface.php │ │ ├── TokenParser.php │ │ ├── ExistsLoaderInterface.php │ │ ├── Extension │ │ └── Optimizer.php │ │ ├── Test │ │ ├── Node.php │ │ └── Function.php │ │ ├── ParserInterface.php │ │ ├── Test.php │ │ ├── Filter │ │ ├── Node.php │ │ └── Function.php │ │ ├── LexerInterface.php │ │ ├── Function │ │ └── Node.php │ │ └── Markup.php │ ├── README.rst │ ├── phpunit.xml.dist │ └── .travis.yml ├── composer ├── autoload_psr4.php ├── autoload_classmap.php └── autoload_namespaces.php └── autoload.php /app/empty: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/empty: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bin/empty: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /core/empty: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /config.php: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # samanta 2 | This is my nerdy tribute to my loved pet, Samanta 3 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "require": { 3 | "twig/twig": "~1.0" 4 | } 5 | } -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/normal/index.html: -------------------------------------------------------------------------------- 1 | path 2 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/named/index.html: -------------------------------------------------------------------------------- 1 | named path 2 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/normal_bis/index.html: -------------------------------------------------------------------------------- 1 | path (bis) 2 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/normal_ter/index.html: -------------------------------------------------------------------------------- 1 | path (ter) 2 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/named_bis/index.html: -------------------------------------------------------------------------------- 1 | named path (bis) 2 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/named_ter/index.html: -------------------------------------------------------------------------------- 1 | named path (ter) 2 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/normal_final/index.html: -------------------------------------------------------------------------------- 1 | path (final) 2 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/errors/base.html: -------------------------------------------------------------------------------- 1 | {% block content %}{% endblock %} 2 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/named_final/index.html: -------------------------------------------------------------------------------- 1 | named path (final) 2 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/named_quater/named_absolute.html: -------------------------------------------------------------------------------- 1 | named path (quater) 2 | -------------------------------------------------------------------------------- /vendor/twig/twig/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | /composer.lock 3 | /ext/twig/autom4te.cache/ 4 | /phpunit.xml 5 | /vendor 6 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/inheritance/parent.html.twig: -------------------------------------------------------------------------------- 1 | {% block body %}VALID{% endblock %} 2 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/inheritance/spare_parent.html.twig: -------------------------------------------------------------------------------- 1 | {% block body %}SPARE PARENT{% endblock %} 2 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/special_chars.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "§" custom tag 3 | --TEMPLATE-- 4 | {% § %} 5 | --DATA-- 6 | return array() 7 | --EXPECT-- 8 | § 9 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/themes/theme2/blocks.html.twig: -------------------------------------------------------------------------------- 1 | {% use '@default_theme/blocks.html.twig' %} 2 | 3 | {% block b2 %}block from theme 2{% endblock %} 4 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/themes/theme1/blocks.html.twig: -------------------------------------------------------------------------------- 1 | {% block b1 %}block from theme 1{% endblock %} 2 | 3 | {% block b2 %}block from theme 1{% endblock %} 4 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/filters/special_chars.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "§" custom filter 3 | --TEMPLATE-- 4 | {{ 'foo'|§ }} 5 | --DATA-- 6 | return array() 7 | --EXPECT-- 8 | §foo§ 9 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/functions/special_chars.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "§" custom function 3 | --TEMPLATE-- 4 | {{ §('foo') }} 5 | --DATA-- 6 | return array() 7 | --EXPECT-- 8 | §foo§ 9 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/inheritance/array_inheritance_empty_parent.html.twig: -------------------------------------------------------------------------------- 1 | {% extends ['','parent.html.twig'] %} 2 | 3 | {% block body %}{{ parent() }} Child{% endblock %} 4 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/filters/escape.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "escape" filter 3 | --TEMPLATE-- 4 | {{ "foo
"|e }} 5 | --DATA-- 6 | return array() 7 | --EXPECT-- 8 | foo <br /> 9 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/inheritance/array_inheritance_null_parent.html.twig: -------------------------------------------------------------------------------- 1 | {% extends [null,'parent.html.twig'] %} 2 | 3 | {% block body %}{{ parent() }} Child{% endblock %} 4 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Node/Expression/PHP53/TestInclude.php: -------------------------------------------------------------------------------- 1 | addTest(new Twig_SimpleTest('anonymous', function () {})); 5 | 6 | return $env; 7 | -------------------------------------------------------------------------------- /vendor/twig/twig/ext/twig/config.w32: -------------------------------------------------------------------------------- 1 | // vim:ft=javascript 2 | 3 | ARG_ENABLE("twig", "Twig support", "no"); 4 | 5 | if (PHP_TWIG != "no") { 6 | AC_DEFINE('HAVE_TWIG', 1); 7 | EXTENSION('twig', 'twig.c'); 8 | } 9 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/errors/index.html: -------------------------------------------------------------------------------- 1 | {% extends 'base.html' %} 2 | {% block content %} 3 | {{ foo.bar }} 4 | {% endblock %} 5 | {% block foo %} 6 | {{ foo.bar }} 7 | {% endblock %} 8 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/grouping.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Twig supports grouping of expressions 3 | --TEMPLATE-- 4 | {{ (2 + 2) / 2 }} 5 | --DATA-- 6 | return array() 7 | --EXPECT-- 8 | 2 9 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Node/Expression/PHP53/FilterInclude.php: -------------------------------------------------------------------------------- 1 | addFilter(new Twig_SimpleFilter('anonymous', function () {})); 5 | 6 | return $env; 7 | -------------------------------------------------------------------------------- /vendor/composer/autoload_psr4.php: -------------------------------------------------------------------------------- 1 | addFunction(new Twig_SimpleFunction('anonymous', function () {})); 5 | 6 | return $env; 7 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/functions/range.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "range" function 3 | --TEMPLATE-- 4 | {{ range(low=0+1, high=10+0, step=2)|join(',') }} 5 | --DATA-- 6 | return array() 7 | --EXPECT-- 8 | 1,3,5,7,9 9 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/inheritance/array_inheritance_valid_parent.html.twig: -------------------------------------------------------------------------------- 1 | {% extends ['parent.html.twig','spare_parent.html.twig'] %} 2 | 3 | {% block body %}{{ parent() }} Child{% endblock %} 4 | -------------------------------------------------------------------------------- /vendor/autoload.php: -------------------------------------------------------------------------------- 1 | 'foo') 7 | --EXPECT-- 8 | foo0foo 9 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tests/odd.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "odd" test 3 | --TEMPLATE-- 4 | {{ 1 is odd ? 'ok' : 'ko' }} 5 | {{ 2 is odd ? 'ko' : 'ok' }} 6 | --DATA-- 7 | return array() 8 | --EXPECT-- 9 | ok 10 | ok -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/inheritance/array_inheritance_nonexistent_parent.html.twig: -------------------------------------------------------------------------------- 1 | {% extends ['nonexistent.html.twig','parent.html.twig'] %} 2 | 3 | {% block body %}{{ parent() }} Child{% endblock %} 4 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/filters/escape_non_supported_charset.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "escape" filter 3 | --TEMPLATE-- 4 | {{ "愛していますか?
"|e }} 5 | --DATA-- 6 | return array() 7 | --EXPECT-- 8 | 愛していますか? <br /> 9 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/filters/format.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "format" filter 3 | --TEMPLATE-- 4 | {{ string|format(foo, 3) }} 5 | --DATA-- 6 | return array('string' => '%s/%d', 'foo' => 'bar') 7 | --EXPECT-- 8 | bar/3 9 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/filters/lower.rst: -------------------------------------------------------------------------------- 1 | ``lower`` 2 | ========= 3 | 4 | The ``lower`` filter converts a value to lowercase: 5 | 6 | .. code-block:: jinja 7 | 8 | {{ 'WELCOME'|lower }} 9 | 10 | {# outputs 'welcome' #} 11 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/filters/upper.rst: -------------------------------------------------------------------------------- 1 | ``upper`` 2 | ========= 3 | 4 | The ``upper`` filter converts a value to uppercase: 5 | 6 | .. code-block:: jinja 7 | 8 | {{ 'welcome'|upper }} 9 | 10 | {# outputs 'WELCOME' #} 11 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/tests/odd.rst: -------------------------------------------------------------------------------- 1 | ``odd`` 2 | ======= 3 | 4 | ``odd`` returns ``true`` if the given number is odd: 5 | 6 | .. code-block:: jinja 7 | 8 | {{ var is odd }} 9 | 10 | .. seealso:: :doc:`even<../tests/even>` 11 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/verbatim/basic.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "verbatim" tag 3 | --TEMPLATE-- 4 | {% verbatim %} 5 | {{ foo }} 6 | {% endverbatim %} 7 | --DATA-- 8 | return array() 9 | --EXPECT-- 10 | {{ foo }} 11 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/tests/even.rst: -------------------------------------------------------------------------------- 1 | ``even`` 2 | ======== 3 | 4 | ``even`` returns ``true`` if the given number is even: 5 | 6 | .. code-block:: jinja 7 | 8 | {{ var is even }} 9 | 10 | .. seealso:: :doc:`odd<../tests/odd>` 11 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/block/special_chars.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "§" special chars in a block name 3 | --TEMPLATE-- 4 | {% block § %} 5 | § 6 | {% endblock § %} 7 | --DATA-- 8 | return array() 9 | --EXPECT-- 10 | § 11 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/filters/dynamic_filter.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | dynamic filter 3 | --TEMPLATE-- 4 | {{ 'bar'|foo_path }} 5 | {{ 'bar'|a_foo_b_bar }} 6 | --DATA-- 7 | return array() 8 | --EXPECT-- 9 | foo/bar 10 | a/b/bar 11 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/tests/index.rst: -------------------------------------------------------------------------------- 1 | Tests 2 | ===== 3 | 4 | .. toctree:: 5 | :maxdepth: 1 6 | 7 | constant 8 | defined 9 | divisibleby 10 | empty 11 | even 12 | iterable 13 | null 14 | odd 15 | sameas 16 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/set/capture-empty.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "set" tag block empty capture 3 | --TEMPLATE-- 4 | {% set foo %}{% endset %} 5 | 6 | {% if foo %}FAIL{% endif %} 7 | --DATA-- 8 | return array() 9 | --EXPECT-- 10 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/ternary_operator_noelse.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Twig supports the ternary operator 3 | --TEMPLATE-- 4 | {{ 1 ? 'YES' }} 5 | {{ 0 ? 'YES' }} 6 | --DATA-- 7 | return array() 8 | --EXPECT-- 9 | YES 10 | 11 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/functions/dynamic_function.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | dynamic function 3 | --TEMPLATE-- 4 | {{ foo_path('bar') }} 5 | {{ a_foo_b_bar('bar') }} 6 | --DATA-- 7 | return array() 8 | --EXPECT-- 9 | foo/bar 10 | a/b/bar 11 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/filter/json_encode.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "filter" tag applies a filter on its children 3 | --TEMPLATE-- 4 | {% filter json_encode|raw %}test{% endfilter %} 5 | --DATA-- 6 | return array() 7 | --EXPECT-- 8 | "test" 9 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/set/capture.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "set" tag block capture 3 | --TEMPLATE-- 4 | {% set foo %}f
o
o{% endset %} 5 | 6 | {{ foo }} 7 | --DATA-- 8 | return array() 9 | --EXPECT-- 10 | f
o
o 11 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/tests/null.rst: -------------------------------------------------------------------------------- 1 | ``null`` 2 | ======== 3 | 4 | ``null`` returns ``true`` if the variable is ``null``: 5 | 6 | .. code-block:: jinja 7 | 8 | {{ var is null }} 9 | 10 | .. note:: 11 | 12 | ``none`` is an alias for ``null``. 13 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/ternary_operator_nothen.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Twig supports the ternary operator 3 | --TEMPLATE-- 4 | {{ 'YES' ?: 'NO' }} 5 | {{ 0 ?: 'NO' }} 6 | --DATA-- 7 | return array() 8 | --EXPECT-- 9 | YES 10 | NO 11 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/filters/replace.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "replace" filter 3 | --TEMPLATE-- 4 | {{ "I like %this% and %that%."|replace({'%this%': "foo", '%that%': "bar"}) }} 5 | --DATA-- 6 | return array() 7 | --EXPECT-- 8 | I like foo and bar. 9 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/deep_empty.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "use" tag 3 | --TEMPLATE-- 4 | {% use "foo.twig" %} 5 | --TEMPLATE(foo.twig)-- 6 | {% use "bar.twig" %} 7 | --TEMPLATE(bar.twig)-- 8 | --DATA-- 9 | return array() 10 | --EXPECT-- 11 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/missing.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "include" tag 3 | --TEMPLATE-- 4 | {% include "foo.twig" %} 5 | --DATA-- 6 | return array(); 7 | --EXCEPTION-- 8 | Twig_Error_Loader: Template "foo.twig" is not defined in "index.twig" at line 2. 9 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/empty.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "extends" tag 3 | --TEMPLATE-- 4 | {% extends "foo.twig" %} 5 | --TEMPLATE(foo.twig)-- 6 | {% block content %}FOO{% endblock %} 7 | --DATA-- 8 | return array() 9 | --EXPECT-- 10 | FOO 11 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/set/expression.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "set" tag 3 | --TEMPLATE-- 4 | {% set foo, bar = 'foo' ~ 'bar', 'bar' ~ 'foo' %} 5 | 6 | {{ foo }} 7 | {{ bar }} 8 | --DATA-- 9 | return array() 10 | --EXPECT-- 11 | foobar 12 | barfoo 13 | -------------------------------------------------------------------------------- /vendor/twig/twig/ext/twig/config.m4: -------------------------------------------------------------------------------- 1 | dnl config.m4 for extension twig 2 | 3 | PHP_ARG_ENABLE(twig, whether to enable twig support, 4 | [ --enable-twig Enable twig support]) 5 | 6 | if test "$PHP_TWIG" != "no"; then 7 | PHP_NEW_EXTENSION(twig, twig.c, $ext_shared) 8 | fi 9 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/regression/strings_like_numbers.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Twig does not confuse strings with integers in getAttribute() 3 | --TEMPLATE-- 4 | {{ hash['2e2'] }} 5 | --DATA-- 6 | return array('hash' => array('2e2' => 'works')) 7 | --EXPECT-- 8 | works 9 | -------------------------------------------------------------------------------- /vendor/composer/autoload_namespaces.php: -------------------------------------------------------------------------------- 1 | array($vendorDir . '/twig/twig/lib'), 10 | ); 11 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/filters/sort.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "sort" filter 3 | --TEMPLATE-- 4 | {{ array1|sort|join }} 5 | {{ array2|sort|join }} 6 | --DATA-- 7 | return array('array1' => array(4, 1), 'array2' => array('foo', 'bar')) 8 | --EXPECT-- 9 | 14 10 | barfoo 11 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/missing.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "include" function 3 | --TEMPLATE-- 4 | {{ include("foo.twig") }} 5 | --DATA-- 6 | return array(); 7 | --EXCEPTION-- 8 | Twig_Error_Loader: Template "foo.twig" is not defined in "index.twig" at line 2. 9 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/basic.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "use" tag 3 | --TEMPLATE-- 4 | {% use "blocks.twig" %} 5 | 6 | {{ block('content') }} 7 | --TEMPLATE(blocks.twig)-- 8 | {% block content 'foo' %} 9 | --DATA-- 10 | return array() 11 | --EXPECT-- 12 | foo 13 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/filter/multiple.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "filter" tags accept multiple chained filters 3 | --TEMPLATE-- 4 | {% filter lower|title %} 5 | {{ var }} 6 | {% endfilter %} 7 | --DATA-- 8 | return array('var' => 'VAR') 9 | --EXPECT-- 10 | Var 11 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/keys.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "for" tag can iterate over keys 3 | --TEMPLATE-- 4 | {% for key in items|keys %} 5 | * {{ key }} 6 | {% endfor %} 7 | --DATA-- 8 | return array('items' => array('a', 'b')) 9 | --EXPECT-- 10 | * 0 11 | * 1 12 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/basic.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "include" tag 3 | --TEMPLATE-- 4 | FOO 5 | {% include "foo.twig" %} 6 | 7 | BAR 8 | --TEMPLATE(foo.twig)-- 9 | FOOBAR 10 | --DATA-- 11 | return array() 12 | --EXPECT-- 13 | FOO 14 | 15 | FOOBAR 16 | BAR 17 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/autoescaping.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "include" function is safe for auto-escaping 3 | --TEMPLATE-- 4 | {{ include("foo.twig") }} 5 | --TEMPLATE(foo.twig)-- 6 |

Test

7 | --DATA-- 8 | return array() 9 | --EXPECT-- 10 |

Test

11 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/values.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "for" tag iterates over item values 3 | --TEMPLATE-- 4 | {% for item in items %} 5 | * {{ item }} 6 | {% endfor %} 7 | --DATA-- 8 | return array('items' => array('a', 'b')) 9 | --EXPECT-- 10 | * a 11 | * b 12 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/parent_in_a_block.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "extends" tag 3 | --TEMPLATE-- 4 | {% block content %} 5 | {% extends "foo.twig" %} 6 | {% endblock %} 7 | --EXCEPTION-- 8 | Twig_Error_Syntax: Cannot extend from a block in "index.twig" at line 3 9 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/filters/length.rst: -------------------------------------------------------------------------------- 1 | ``length`` 2 | ========== 3 | 4 | The ``length`` filter returns the number of items of a sequence or mapping, or 5 | the length of a string: 6 | 7 | .. code-block:: jinja 8 | 9 | {% if users|length > 10 %} 10 | ... 11 | {% endif %} 12 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/undefined_parent.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Exception for an undefined parent 3 | --TEMPLATE-- 4 | {% extends 'foo.html' %} 5 | 6 | {% set foo = "foo" %} 7 | --EXCEPTION-- 8 | Twig_Error_Loader: Template "foo.html" is not defined in "index.twig" at line 2. 9 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/unary_precedence.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Twig unary operators precedence 3 | --TEMPLATE-- 4 | {{ -1 - 1 }} 5 | {{ -1 - -1 }} 6 | {{ -1 * -1 }} 7 | {{ 4 / -1 * 5 }} 8 | --DATA-- 9 | return array() 10 | --EXPECT-- 11 | -2 12 | 0 13 | 1 14 | -20 15 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/filters/escape_html_attr.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "escape" filter does not escape with the html strategy when using the html_attr strategy 3 | --TEMPLATE-- 4 | {{ '
'|escape('html_attr') }} 5 | --DATA-- 6 | return array() 7 | --EXPECT-- 8 | <br /> 9 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/filters/keys.rst: -------------------------------------------------------------------------------- 1 | ``keys`` 2 | ======== 3 | 4 | The ``keys`` filter returns the keys of an array. It is useful when you want to 5 | iterate over the keys of an array: 6 | 7 | .. code-block:: jinja 8 | 9 | {% for key in array|keys %} 10 | ... 11 | {% endfor %} 12 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/unary.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Twig supports unary operators (not, -, +) 3 | --TEMPLATE-- 4 | {{ not 1 }}/{{ not 0 }} 5 | {{ +1 + 1 }}/{{ -1 - 1 }} 6 | {{ not (false or true) }} 7 | --DATA-- 8 | return array() 9 | --EXPECT-- 10 | /1 11 | 2/-2 12 | 13 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/functions/max.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "max" function 3 | --TEMPLATE-- 4 | {{ max([2, 1, 3, 5, 4]) }} 5 | {{ max(2, 1, 3, 5, 4) }} 6 | {{ max({2:"two", 1:"one", 3:"three", 5:"five", 4:"for"}) }} 7 | --DATA-- 8 | return array() 9 | --EXPECT-- 10 | 5 11 | 5 12 | two 13 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/aliases.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "use" tag 3 | --TEMPLATE-- 4 | {% use "blocks.twig" with content as foo %} 5 | 6 | {{ block('foo') }} 7 | --TEMPLATE(blocks.twig)-- 8 | {% block content 'foo' %} 9 | --DATA-- 10 | return array() 11 | --EXPECT-- 12 | foo 13 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/assignment.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "include" function 3 | --TEMPLATE-- 4 | {% set tmp = include("foo.twig") %} 5 | 6 | FOO{{ tmp }}BAR 7 | --TEMPLATE(foo.twig)-- 8 | FOOBAR 9 | --DATA-- 10 | return array() 11 | --EXPECT-- 12 | FOO 13 | FOOBARBAR 14 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/basic.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "include" function 3 | --TEMPLATE-- 4 | FOO 5 | {{ include("foo.twig") }} 6 | 7 | BAR 8 | --TEMPLATE(foo.twig)-- 9 | FOOBAR 10 | --DATA-- 11 | return array() 12 | --EXPECT-- 13 | FOO 14 | 15 | FOOBAR 16 | 17 | BAR 18 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/functions/min.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "min" function 3 | --TEMPLATE-- 4 | {{ min(2, 1, 3, 5, 4) }} 5 | {{ min([2, 1, 3, 5, 4]) }} 6 | {{ min({2:"two", 1:"one", 3:"three", 5:"five", 4:"for"}) }} 7 | --DATA-- 8 | return array() 9 | --EXPECT-- 10 | 1 11 | 1 12 | five 13 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/double_escaping.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "autoescape" tag does not double-escape 3 | --TEMPLATE-- 4 | {% autoescape 'html' %} 5 | {{ var|escape }} 6 | {% endautoescape %} 7 | --DATA-- 8 | return array('var' => '
') 9 | --EXPECT-- 10 | <br /> 11 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/raw.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "autoescape" tag does not escape when raw is used as a filter 3 | --TEMPLATE-- 4 | {% autoescape 'html' %} 5 | {{ var|raw }} 6 | {% endautoescape %} 7 | --DATA-- 8 | return array('var' => '
') 9 | --EXPECT-- 10 |
11 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/filter/basic.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "filter" tag applies a filter on its children 3 | --TEMPLATE-- 4 | {% filter upper %} 5 | Some text with a {{ var }} 6 | {% endfilter %} 7 | --DATA-- 8 | return array('var' => 'var') 9 | --EXPECT-- 10 | SOME TEXT WITH A VAR 11 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/extends_as_array.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "extends" tag 3 | --TEMPLATE-- 4 | {% extends ["foo.twig", "bar.twig"] %} 5 | --TEMPLATE(bar.twig)-- 6 | {% block content %} 7 | foo 8 | {% endblock %} 9 | --DATA-- 10 | return array() 11 | --EXPECT-- 12 | foo 13 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/functions/source.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "source" function 3 | --TEMPLATE-- 4 | FOO 5 | {{ source("foo.twig") }} 6 | 7 | BAR 8 | --TEMPLATE(foo.twig)-- 9 | {{ foo }}
10 | --DATA-- 11 | return array() 12 | --EXPECT-- 13 | FOO 14 | 15 | {{ foo }}
16 | 17 | BAR 18 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/templates_as_array.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "include" tag 3 | --TEMPLATE-- 4 | {% include ["foo.twig", "bar.twig"] %} 5 | {% include ["bar.twig", "foo.twig"] %} 6 | --TEMPLATE(foo.twig)-- 7 | foo 8 | --DATA-- 9 | return array() 10 | --EXPECT-- 11 | foo 12 | foo 13 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/strings.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Twig supports string interpolation 3 | --TEMPLATE-- 4 | {{ "foo #{"foo #{bar} baz"} baz" }} 5 | {{ "foo #{bar}#{bar} baz" }} 6 | --DATA-- 7 | return array('bar' => 'BAR'); 8 | --EXPECT-- 9 | foo foo BAR baz baz 10 | foo BARBAR baz 11 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/template_instance.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "include" tag accepts Twig_Template instance 3 | --TEMPLATE-- 4 | {% include foo %} FOO 5 | --TEMPLATE(foo.twig)-- 6 | BAR 7 | --DATA-- 8 | return array('foo' => $twig->loadTemplate('foo.twig')) 9 | --EXPECT-- 10 | BAR FOO 11 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/extends_as_array_with_empty_name.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "extends" tag 3 | --TEMPLATE-- 4 | {% extends ["", "bar.twig"] %} 5 | --TEMPLATE(bar.twig)-- 6 | {% block content %} 7 | foo 8 | {% endblock %} 9 | --DATA-- 10 | return array() 11 | --EXPECT-- 12 | foo 13 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/extends_as_array_with_null_name.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "extends" tag 3 | --TEMPLATE-- 4 | {% extends [null, "bar.twig"] %} 5 | --TEMPLATE(bar.twig)-- 6 | {% block content %} 7 | foo 8 | {% endblock %} 9 | --DATA-- 10 | return array() 11 | --EXPECT-- 12 | foo 13 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/special_chars.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "§" as a macro name 3 | --TEMPLATE-- 4 | {% import _self as macros %} 5 | 6 | {{ macros.§('foo') }} 7 | 8 | {% macro §(foo) %} 9 | §{{ foo }}§ 10 | {% endmacro %} 11 | --DATA-- 12 | return array() 13 | --EXPECT-- 14 | §foo§ 15 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/raw/mixed_usage_with_raw.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "raw" tag 3 | --TEMPLATE-- 4 | {% raw %} 5 | {{ foo }} 6 | {% endverbatim %} 7 | --DATA-- 8 | return array() 9 | --EXCEPTION-- 10 | Twig_Error_Syntax: Unexpected end of file: Unclosed "raw" block in "index.twig" at line 2 11 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/filters/capitalize.rst: -------------------------------------------------------------------------------- 1 | ``capitalize`` 2 | ============== 3 | 4 | The ``capitalize`` filter capitalizes a value. The first character will be 5 | uppercase, all others lowercase: 6 | 7 | .. code-block:: jinja 8 | 9 | {{ 'my first car'|capitalize }} 10 | 11 | {# outputs 'My first car' #} 12 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/tests/empty.rst: -------------------------------------------------------------------------------- 1 | ``empty`` 2 | ========= 3 | 4 | ``empty`` checks if a variable is empty: 5 | 6 | .. code-block:: jinja 7 | 8 | {# evaluates to true if the foo variable is null, false, an empty array, or the empty string #} 9 | {% if foo is empty %} 10 | ... 11 | {% endif %} 12 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/macros/reserved_variables.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | macro 3 | --TEMPLATE-- 4 | {% from _self import test %} 5 | 6 | {% macro test(this) -%} 7 | {{ this }} 8 | {%- endmacro %} 9 | 10 | {{ test(this) }} 11 | --DATA-- 12 | return array('this' => 'foo'); 13 | --EXPECT-- 14 | foo 15 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/regression/multi_word_tests.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Twig allows multi-word tests without a custom node class 3 | --TEMPLATE-- 4 | {{ 'foo' is multi word ? 'yes' : 'no' }} 5 | {{ 'foo bar' is multi word ? 'yes' : 'no' }} 6 | --DATA-- 7 | return array() 8 | --EXPECT-- 9 | no 10 | yes 11 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/block/basic.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "block" tag 3 | --TEMPLATE-- 4 | {% block title1 %}FOO{% endblock %} 5 | {% block title2 foo|lower %} 6 | --TEMPLATE(foo.twig)-- 7 | {% block content %}{% endblock %} 8 | --DATA-- 9 | return array('foo' => 'bar') 10 | --EXPECT-- 11 | FOObar 12 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/tags/do.rst: -------------------------------------------------------------------------------- 1 | ``do`` 2 | ====== 3 | 4 | .. versionadded:: 1.5 5 | The ``do`` tag was added in Twig 1.5. 6 | 7 | The ``do`` tag works exactly like the regular variable expression (``{{ ... 8 | }}``) just that it doesn't print anything: 9 | 10 | .. code-block:: jinja 11 | 12 | {% do 1 + 2 %} 13 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/template_instance.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "include" function accepts Twig_Template instance 3 | --TEMPLATE-- 4 | {{ include(foo) }} FOO 5 | --TEMPLATE(foo.twig)-- 6 | BAR 7 | --DATA-- 8 | return array('foo' => $twig->loadTemplate('foo.twig')) 9 | --EXPECT-- 10 | BAR FOO 11 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/templates_as_array.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "include" function 3 | --TEMPLATE-- 4 | {{ include(["foo.twig", "bar.twig"]) }} 5 | {{- include(["bar.twig", "foo.twig"]) }} 6 | --TEMPLATE(foo.twig)-- 7 | foo 8 | --DATA-- 9 | return array() 10 | --EXPECT-- 11 | foo 12 | foo 13 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/keys_and_values.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "for" tag can iterate over keys and values 3 | --TEMPLATE-- 4 | {% for key, item in items %} 5 | * {{ key }}/{{ item }} 6 | {% endfor %} 7 | --DATA-- 8 | return array('items' => array('a', 'b')) 9 | --EXPECT-- 10 | * 0/a 11 | * 1/b 12 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/basic.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "extends" tag 3 | --TEMPLATE-- 4 | {% extends "foo.twig" %} 5 | 6 | {% block content %} 7 | FOO 8 | {% endblock %} 9 | --TEMPLATE(foo.twig)-- 10 | {% block content %}{% endblock %} 11 | --DATA-- 12 | return array() 13 | --EXPECT-- 14 | FOO 15 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tests/even.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "even" test 3 | --TEMPLATE-- 4 | {{ 1 is even ? 'ko' : 'ok' }} 5 | {{ 2 is even ? 'ok' : 'ko' }} 6 | {{ 1 is not even ? 'ok' : 'ko' }} 7 | {{ 2 is not even ? 'ko' : 'ok' }} 8 | --DATA-- 9 | return array() 10 | --EXPECT-- 11 | ok 12 | ok 13 | ok 14 | ok 15 | -------------------------------------------------------------------------------- /app/home/home.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | My Webpage 5 | 6 | 7 | {% set foo = 'bar' %} 8 | 9 |

My Webpage

10 | 11 | {{ test | not_a_filter }} 12 | 13 | {{ go | lower_case }} 14 | 15 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/tags/from.rst: -------------------------------------------------------------------------------- 1 | ``from`` 2 | ======== 3 | 4 | The ``from`` tag imports :doc:`macro<../tags/macro>` names into the current 5 | namespace. The tag is documented in detail in the documentation for the 6 | :doc:`import<../tags/import>` tag. 7 | 8 | .. seealso:: :doc:`macro<../tags/macro>`, :doc:`import<../tags/import>` 9 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/loop_context_local.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "for" tag adds a loop variable to the context locally 3 | --TEMPLATE-- 4 | {% for item in items %} 5 | {% endfor %} 6 | {% if loop is not defined %}WORKS{% endif %} 7 | --DATA-- 8 | return array('items' => array()) 9 | --EXPECT-- 10 | WORKS 11 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/super_globals.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Super globals as macro arguments 3 | --TEMPLATE-- 4 | {% import _self as macros %} 5 | 6 | {{ macros.foo('foo') }} 7 | 8 | {% macro foo(GET) %} 9 | {{ GET }} 10 | {% endmacro %} 11 | --DATA-- 12 | return array() 13 | --EXPECT-- 14 | foo 15 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/verbatim/mixed_usage_with_raw.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "verbatim" tag 3 | --TEMPLATE-- 4 | {% verbatim %} 5 | {{ foo }} 6 | {% endraw %} 7 | --DATA-- 8 | return array() 9 | --EXCEPTION-- 10 | Twig_Error_Syntax: Unexpected end of file: Unclosed "verbatim" block in "index.twig" at line 2 11 | -------------------------------------------------------------------------------- /vendor/twig/twig/.editorconfig: -------------------------------------------------------------------------------- 1 | ; top-most EditorConfig file 2 | root = true 3 | 4 | ; Unix-style newlines 5 | [*] 6 | end_of_line = LF 7 | 8 | [*.php] 9 | indent_style = space 10 | indent_size = 4 11 | 12 | [*.test] 13 | indent_style = space 14 | indent_size = 4 15 | 16 | [*.rst] 17 | indent_style = space 18 | indent_size = 4 19 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/negative_numbers.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Twig manages negative numbers correctly 3 | --TEMPLATE-- 4 | {{ -1 }} 5 | {{ - 1 }} 6 | {{ 5 - 1 }} 7 | {{ 5-1 }} 8 | {{ 5 + -1 }} 9 | {{ 5 + - 1 }} 10 | --DATA-- 11 | return array() 12 | --EXPECT-- 13 | -1 14 | -1 15 | 4 16 | 4 17 | 4 18 | 4 19 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/spaceless/simple.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "spaceless" tag removes whites between HTML tags 3 | --TEMPLATE-- 4 | {% spaceless %} 5 | 6 |
foo
7 | 8 | {% endspaceless %} 9 | --DATA-- 10 | return array() 11 | --EXPECT-- 12 |
foo
13 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/filters/title.rst: -------------------------------------------------------------------------------- 1 | ``title`` 2 | ========= 3 | 4 | The ``title`` filter returns a titlecased version of the value. Words will 5 | start with uppercase letters, all remaining characters are lowercase: 6 | 7 | .. code-block:: jinja 8 | 9 | {{ 'my first car'|title }} 10 | 11 | {# outputs 'My First Car' #} 12 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/bitwise.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Twig supports bitwise operations 3 | --TEMPLATE-- 4 | {{ 1 b-and 5 }} 5 | {{ 1 b-or 5 }} 6 | {{ 1 b-xor 5 }} 7 | {{ (1 and 0 b-or 0) is same as(1 and (0 b-or 0)) ? 'ok' : 'ko' }} 8 | --DATA-- 9 | return array() 10 | --EXPECT-- 11 | 1 12 | 5 13 | 4 14 | ok 15 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/matches.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Twig supports the "matches" operator 3 | --TEMPLATE-- 4 | {{ 'foo' matches '/o/' ? 'OK' : 'KO' }} 5 | {{ 'foo' matches '/^fo/' ? 'OK' : 'KO' }} 6 | {{ 'foo' matches '/O/i' ? 'OK' : 'KO' }} 7 | --DATA-- 8 | return array() 9 | --EXPECT-- 10 | OK 11 | OK 12 | OK 13 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/filters/join.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "join" filter 3 | --TEMPLATE-- 4 | {{ ["foo", "bar"]|join(', ') }} 5 | {{ foo|join(', ') }} 6 | {{ bar|join(', ') }} 7 | --DATA-- 8 | return array('foo' => new TwigTestFoo(), 'bar' => new ArrayObject(array(3, 4))) 9 | --EXPECT-- 10 | foo, bar 11 | 1, 2 12 | 3, 4 13 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/filters/length_utf8.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "length" filter 3 | --CONDITION-- 4 | function_exists('mb_get_info') 5 | --TEMPLATE-- 6 | {{ string|length }} 7 | {{ markup|length }} 8 | --DATA-- 9 | return array('string' => 'été', 'markup' => new Twig_Markup('foo', 'UTF-8')) 10 | --EXPECT-- 11 | 3 12 | 3 13 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/filter/with_for_tag.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "filter" tag applies the filter on "for" tags 3 | --TEMPLATE-- 4 | {% filter upper %} 5 | {% for item in items %} 6 | {{ item }} 7 | {% endfor %} 8 | {% endfilter %} 9 | --DATA-- 10 | return array('items' => array('a', 'b')) 11 | --EXPECT-- 12 | A 13 | B 14 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/dynamic.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "extends" tag 3 | --TEMPLATE-- 4 | {% extends foo %} 5 | 6 | {% block content %} 7 | FOO 8 | {% endblock %} 9 | --TEMPLATE(foo.twig)-- 10 | {% block content %}{% endblock %} 11 | --DATA-- 12 | return array('foo' => 'foo.twig') 13 | --EXPECT-- 14 | FOO 15 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/functions/index.rst: -------------------------------------------------------------------------------- 1 | Functions 2 | ========= 3 | 4 | .. toctree:: 5 | :maxdepth: 1 6 | 7 | attribute 8 | block 9 | constant 10 | cycle 11 | date 12 | dump 13 | include 14 | max 15 | min 16 | parent 17 | random 18 | range 19 | source 20 | template_from_string 21 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/parent_without_extends.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "parent" tag 3 | --TEMPLATE-- 4 | {% block content %} 5 | {{ parent() }} 6 | {% endblock %} 7 | --EXCEPTION-- 8 | Twig_Error_Syntax: Calling "parent" on a template that does not extend nor "use" another template is forbidden in "index.twig" at line 3 9 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/index.rst: -------------------------------------------------------------------------------- 1 | Twig 2 | ==== 3 | 4 | .. toctree:: 5 | :maxdepth: 2 6 | 7 | intro 8 | installation 9 | templates 10 | api 11 | advanced 12 | internals 13 | deprecated 14 | recipes 15 | coding_standards 16 | tags/index 17 | filters/index 18 | functions/index 19 | tests/index 20 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/filters/json_encode.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "json_encode" filter 3 | --TEMPLATE-- 4 | {{ "foo"|json_encode|raw }} 5 | {{ foo|json_encode|raw }} 6 | {{ [foo, "foo"]|json_encode|raw }} 7 | --DATA-- 8 | return array('foo' => new Twig_Markup('foo', 'UTF-8')) 9 | --EXPECT-- 10 | "foo" 11 | "foo" 12 | ["foo","foo"] 13 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/functions/constant.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "constant" function 3 | --TEMPLATE-- 4 | {{ constant('DATE_W3C') == expect ? 'true' : 'false' }} 5 | {{ constant('ARRAY_AS_PROPS', object) }} 6 | --DATA-- 7 | return array('expect' => DATE_W3C, 'object' => new ArrayObject(array('hi'))); 8 | --EXPECT-- 9 | true 10 | 2 11 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/macros/with_filters.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | macro with a filter 3 | --TEMPLATE-- 4 | {% import _self as test %} 5 | 6 | {% macro test() %} 7 | {% filter escape %}foo
{% endfilter %} 8 | {% endmacro %} 9 | 10 | {{ test.test() }} 11 | --DATA-- 12 | return array(); 13 | --EXPECT-- 14 | foo<br /> 15 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/blocks.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "autoescape" tag applies escaping on embedded blocks 3 | --TEMPLATE-- 4 | {% autoescape 'html' %} 5 | {% block foo %} 6 | {{ var }} 7 | {% endblock %} 8 | {% endautoescape %} 9 | --DATA-- 10 | return array('var' => '
') 11 | --EXPECT-- 12 | <br /> 13 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/expression.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "include" tag allows expressions for the template to include 3 | --TEMPLATE-- 4 | FOO 5 | {% include foo %} 6 | 7 | BAR 8 | --TEMPLATE(foo.twig)-- 9 | FOOBAR 10 | --DATA-- 11 | return array('foo' => 'foo.twig') 12 | --EXPECT-- 13 | FOO 14 | 15 | FOOBAR 16 | BAR 17 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/parent.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "extends" tag 3 | --TEMPLATE-- 4 | {% extends "foo.twig" %} 5 | 6 | {% block content %}{{ parent() }}FOO{{ parent() }}{% endblock %} 7 | --TEMPLATE(foo.twig)-- 8 | {% block content %}BAR{% endblock %} 9 | --DATA-- 10 | return array() 11 | --EXPECT-- 12 | BARFOOBAR 13 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/undefined_trait.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Exception for an undefined trait 3 | --TEMPLATE-- 4 | {% use 'foo' with foobar as bar %} 5 | --TEMPLATE(foo)-- 6 | {% block bar %} 7 | {% endblock %} 8 | --EXCEPTION-- 9 | Twig_Error_Runtime: Block "foobar" is not defined in trait "foo" in "index.twig" at line 2. 10 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/two_word_operators_as_variables.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Twig does not allow to use two-word named operators as variable names 3 | --TEMPLATE-- 4 | {{ starts with }} 5 | --DATA-- 6 | return array() 7 | --EXCEPTION-- 8 | Twig_Error_Syntax: Unexpected token "operator" of value "starts with" in "index.twig" at line 2 9 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/macros/default_values.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | macro 3 | --TEMPLATE-- 4 | {% from _self import test %} 5 | 6 | {% macro test(a, b = 'bar') -%} 7 | {{ a }}{{ b }} 8 | {%- endmacro %} 9 | 10 | {{ test('foo') }} 11 | {{ test('bar', 'foo') }} 12 | --DATA-- 13 | return array(); 14 | --EXPECT-- 15 | foobar 16 | barfoo 17 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/functions/block.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "block" function 3 | --TEMPLATE-- 4 | {% extends 'base.twig' %} 5 | {% block bar %}BAR{% endblock %} 6 | --TEMPLATE(base.twig)-- 7 | {% block foo %}{{ block('bar') }}{% endblock %} 8 | {% block bar %}BAR_BASE{% endblock %} 9 | --DATA-- 10 | return array() 11 | --EXPECT-- 12 | BARBAR 13 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/filters/abs.rst: -------------------------------------------------------------------------------- 1 | ``abs`` 2 | ======= 3 | 4 | The ``abs`` filter returns the absolute value. 5 | 6 | .. code-block:: jinja 7 | 8 | {# number = -5 #} 9 | 10 | {{ number|abs }} 11 | 12 | {# outputs 5 #} 13 | 14 | .. note:: 15 | 16 | Internally, Twig uses the PHP `abs`_ function. 17 | 18 | .. _`abs`: http://php.net/abs 19 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/expression.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "include" function allows expressions for the template to include 3 | --TEMPLATE-- 4 | FOO 5 | {{ include(foo) }} 6 | 7 | BAR 8 | --TEMPLATE(foo.twig)-- 9 | FOOBAR 10 | --DATA-- 11 | return array('foo' => 'foo.twig') 12 | --EXPECT-- 13 | FOO 14 | 15 | FOOBAR 16 | 17 | BAR 18 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/block/block_unique_name.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "block" tag 3 | --TEMPLATE-- 4 | {% block content %} 5 | {% block content %} 6 | {% endblock %} 7 | {% endblock %} 8 | --DATA-- 9 | return array() 10 | --EXCEPTION-- 11 | Twig_Error_Syntax: The block 'content' has already been defined line 2 in "index.twig" at line 3 12 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/with_variables.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "include" tag accept variables 3 | --TEMPLATE-- 4 | {% include "foo.twig" with {'foo': 'bar'} %} 5 | {% include "foo.twig" with vars %} 6 | --TEMPLATE(foo.twig)-- 7 | {{ foo }} 8 | --DATA-- 9 | return array('vars' => array('foo' => 'bar')) 10 | --EXPECT-- 11 | bar 12 | bar 13 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/parent_without_extends_but_traits.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "parent" tag 3 | --TEMPLATE-- 4 | {% use 'foo.twig' %} 5 | 6 | {% block content %} 7 | {{ parent() }} 8 | {% endblock %} 9 | --TEMPLATE(foo.twig)-- 10 | {% block content %}BAR{% endblock %} 11 | --DATA-- 12 | return array() 13 | --EXPECT-- 14 | BAR 15 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/sandbox/not_valid1.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | sandbox tag 3 | --TEMPLATE-- 4 | {%- sandbox %} 5 | {%- include "foo.twig" %} 6 | a 7 | {%- endsandbox %} 8 | --TEMPLATE(foo.twig)-- 9 | foo 10 | --EXCEPTION-- 11 | Twig_Error_Syntax: Only "include" tags are allowed within a "sandbox" section in "index.twig" at line 4 12 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/array_call.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Twig supports method calls 3 | --TEMPLATE-- 4 | {{ items.foo }} 5 | {{ items['foo'] }} 6 | {{ items[foo] }} 7 | {{ items[items[foo]] }} 8 | --DATA-- 9 | return array('foo' => 'bar', 'items' => array('foo' => 'bar', 'bar' => 'foo')) 10 | --EXPECT-- 11 | bar 12 | bar 13 | foo 14 | bar 15 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/with_variables.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "include" function accept variables 3 | --TEMPLATE-- 4 | {{ include("foo.twig", {'foo': 'bar'}) }} 5 | {{- include("foo.twig", vars) }} 6 | --TEMPLATE(foo.twig)-- 7 | {{ foo }} 8 | --DATA-- 9 | return array('vars' => array('foo' => 'bar')) 10 | --EXPECT-- 11 | bar 12 | bar 13 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/loop_not_defined_cond.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "for" tag 3 | --TEMPLATE-- 4 | {% for i, item in items if loop.last > 0 %} 5 | {% endfor %} 6 | --DATA-- 7 | return array('items' => array('a', 'b')) 8 | --EXCEPTION-- 9 | Twig_Error_Syntax: The "loop" variable cannot be used in a looping condition in "index.twig" at line 2 10 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/from.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | global variables 3 | --TEMPLATE-- 4 | {% include "included.twig" %} 5 | {% from "included.twig" import foobar %} 6 | {{ foobar() }} 7 | --TEMPLATE(included.twig)-- 8 | {% macro foobar() %} 9 | called foobar 10 | {% endmacro %} 11 | --DATA-- 12 | return array(); 13 | --EXPECT-- 14 | called foobar 15 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/tags/index.rst: -------------------------------------------------------------------------------- 1 | Tags 2 | ==== 3 | 4 | .. toctree:: 5 | :maxdepth: 1 6 | 7 | autoescape 8 | block 9 | do 10 | embed 11 | extends 12 | filter 13 | flush 14 | for 15 | from 16 | if 17 | import 18 | include 19 | macro 20 | sandbox 21 | set 22 | spaceless 23 | use 24 | verbatim 25 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/macros/nested_calls.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | macro 3 | --TEMPLATE-- 4 | {% import _self as macros %} 5 | 6 | {% macro foo(data) %} 7 | {{ data }} 8 | {% endmacro %} 9 | 10 | {% macro bar() %} 11 |
12 | {% endmacro %} 13 | 14 | {{ macros.foo(macros.bar()) }} 15 | --DATA-- 16 | return array(); 17 | --EXPECT-- 18 |
19 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/global.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "macro" tag 3 | --TEMPLATE-- 4 | {% from 'forms.twig' import foo %} 5 | 6 | {{ foo('foo') }} 7 | {{ foo() }} 8 | --TEMPLATE(forms.twig)-- 9 | {% macro foo(name) %}{{ name|default('foo') }}{{ global }}{% endmacro %} 10 | --DATA-- 11 | return array() 12 | --EXPECT-- 13 | fooglobal 14 | fooglobal 15 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/set/basic.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "set" tag 3 | --TEMPLATE-- 4 | {% set foo = 'foo' %} 5 | {% set bar = 'foo
' %} 6 | 7 | {{ foo }} 8 | {{ bar }} 9 | 10 | {% set foo, bar = 'foo', 'bar' %} 11 | 12 | {{ foo }}{{ bar }} 13 | --DATA-- 14 | return array() 15 | --EXPECT-- 16 | foo 17 | foo<br /> 18 | 19 | 20 | foobar 21 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/literals.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Twig supports literals 3 | --TEMPLATE-- 4 | 1 {{ true }} 5 | 2 {{ TRUE }} 6 | 3 {{ false }} 7 | 4 {{ FALSE }} 8 | 5 {{ none }} 9 | 6 {{ NONE }} 10 | 7 {{ null }} 11 | 8 {{ NULL }} 12 | --DATA-- 13 | return array() 14 | --EXPECT-- 15 | 1 1 16 | 2 1 17 | 3 18 | 4 19 | 5 20 | 6 21 | 7 22 | 8 23 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/filters/last.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "last" filter 3 | --TEMPLATE-- 4 | {{ [1, 2, 3, 4]|last }} 5 | {{ {a: 1, b: 2, c: 3, d: 4}|last }} 6 | {{ '1234'|last }} 7 | {{ arr|last }} 8 | {{ 'Ä€é'|last }} 9 | {{ ''|last }} 10 | --DATA-- 11 | return array('arr' => new ArrayObject(array(1, 2, 3, 4))) 12 | --EXPECT-- 13 | 4 14 | 4 15 | 4 16 | 4 17 | é 18 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/ignore_missing.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "include" tag 3 | --TEMPLATE-- 4 | {% include ["foo.twig", "bar.twig"] ignore missing %} 5 | {% include "foo.twig" ignore missing %} 6 | {% include "foo.twig" ignore missing with {} %} 7 | {% include "foo.twig" ignore missing with {} only %} 8 | --DATA-- 9 | return array() 10 | --EXPECT-- 11 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/filters/sort.rst: -------------------------------------------------------------------------------- 1 | ``sort`` 2 | ======== 3 | 4 | The ``sort`` filter sorts an array: 5 | 6 | .. code-block:: jinja 7 | 8 | {% for user in users|sort %} 9 | ... 10 | {% endfor %} 11 | 12 | .. note:: 13 | 14 | Internally, Twig uses the PHP `asort`_ function to maintain index 15 | association. 16 | 17 | .. _`asort`: http://php.net/asort 18 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/filters/convert_encoding.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "convert_encoding" filter 3 | --CONDITION-- 4 | function_exists('iconv') || function_exists('mb_convert_encoding') 5 | --TEMPLATE-- 6 | {{ "愛していますか?"|convert_encoding('ISO-2022-JP', 'UTF-8')|convert_encoding('UTF-8', 'ISO-2022-JP') }} 7 | --DATA-- 8 | return array() 9 | --EXPECT-- 10 | 愛していますか? 11 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/filters/length.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "length" filter 3 | --TEMPLATE-- 4 | {{ array|length }} 5 | {{ string|length }} 6 | {{ number|length }} 7 | {{ markup|length }} 8 | --DATA-- 9 | return array('array' => array(1, 4), 'string' => 'foo', 'number' => 1000, 'markup' => new Twig_Markup('foo', 'UTF-8')) 10 | --EXPECT-- 11 | 2 12 | 3 13 | 4 14 | 3 15 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/filter/nested.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "filter" tags can be nested at will 3 | --TEMPLATE-- 4 | {% filter lower|title %} 5 | {{ var }} 6 | {% filter upper %} 7 | {{ var }} 8 | {% endfilter %} 9 | {{ var }} 10 | {% endfilter %} 11 | --DATA-- 12 | return array('var' => 'var') 13 | --EXPECT-- 14 | Var 15 | Var 16 | Var 17 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/parent_change.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "extends" tag 3 | --TEMPLATE-- 4 | {% extends foo ? 'foo.twig' : 'bar.twig' %} 5 | --TEMPLATE(foo.twig)-- 6 | FOO 7 | --TEMPLATE(bar.twig)-- 8 | BAR 9 | --DATA-- 10 | return array('foo' => true) 11 | --EXPECT-- 12 | FOO 13 | --DATA-- 14 | return array('foo' => false) 15 | --EXPECT-- 16 | BAR 17 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/bootstrap.php: -------------------------------------------------------------------------------- 1 | new ArrayObject(array(1, 2, 3, 4))) 12 | --EXPECT-- 13 | 1 14 | 1 15 | 1 16 | 1 17 | Ä 18 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/loop_not_defined.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "for" tag 3 | --TEMPLATE-- 4 | {% for i, item in items if i > 0 %} 5 | {{ loop.last }} 6 | {% endfor %} 7 | --DATA-- 8 | return array('items' => array('a', 'b')) 9 | --EXCEPTION-- 10 | Twig_Error_Syntax: The "loop.last" variable is not defined when looping with a condition in "index.twig" at line 3 11 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/endmacro_name.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "macro" tag supports name for endmacro 3 | --TEMPLATE-- 4 | {% import _self as macros %} 5 | 6 | {{ macros.foo() }} 7 | {{ macros.bar() }} 8 | 9 | {% macro foo() %}foo{% endmacro %} 10 | {% macro bar() %}bar{% endmacro bar %} 11 | --DATA-- 12 | return array() 13 | --EXPECT-- 14 | foo 15 | bar 16 | 17 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/filters/striptags.rst: -------------------------------------------------------------------------------- 1 | ``striptags`` 2 | ============= 3 | 4 | The ``striptags`` filter strips SGML/XML tags and replace adjacent whitespace 5 | by one space: 6 | 7 | .. code-block:: jinja 8 | 9 | {{ some_html|striptags }} 10 | 11 | .. note:: 12 | 13 | Internally, Twig uses the PHP `strip_tags`_ function. 14 | 15 | .. _`strip_tags`: http://php.net/strip_tags 16 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/condition.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "for" tag takes a condition 3 | --TEMPLATE-- 4 | {% for i in 1..5 if i is odd -%} 5 | {{ loop.index }}.{{ i }}{{ foo.bar }} 6 | {% endfor %} 7 | --DATA-- 8 | return array('foo' => array('bar' => 'X')) 9 | --CONFIG-- 10 | return array('strict_variables' => false) 11 | --EXPECT-- 12 | 1.1X 13 | 2.3X 14 | 3.5X 15 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/sandbox.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "include" tag sandboxed 3 | --TEMPLATE-- 4 | {{ include("foo.twig", sandboxed = true) }} 5 | --TEMPLATE(foo.twig)-- 6 | 7 | 8 | {{ foo|e }} 9 | {{ foo|e }} 10 | --DATA-- 11 | return array() 12 | --EXCEPTION-- 13 | Twig_Sandbox_SecurityNotAllowedFilterError: Filter "e" is not allowed in "foo.twig" at line 4. 14 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/operators_as_variables.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Twig allows to use named operators as variable names 3 | --TEMPLATE-- 4 | {% for match in matches %} 5 | {{- match }} 6 | {% endfor %} 7 | {{ in }} 8 | {{ is }} 9 | --DATA-- 10 | return array('matches' => array(1, 2, 3), 'in' => 'in', 'is' => 'is') 11 | --EXPECT-- 12 | 1 13 | 2 14 | 3 15 | in 16 | is 17 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/nested_blocks_parent_only.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "block" tag 3 | --TEMPLATE-- 4 | {% block content %} 5 | CONTENT 6 | {%- block subcontent -%} 7 | SUBCONTENT 8 | {%- endblock -%} 9 | ENDCONTENT 10 | {% endblock %} 11 | --TEMPLATE(foo.twig)-- 12 | --DATA-- 13 | return array() 14 | --EXPECT-- 15 | CONTENTSUBCONTENTENDCONTENT 16 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/tests/divisibleby.rst: -------------------------------------------------------------------------------- 1 | ``divisible by`` 2 | ================ 3 | 4 | .. versionadded:: 1.14.2 5 | The ``divisible by`` test was added in Twig 1.14.2 as an alias for 6 | ``divisibleby``. 7 | 8 | ``divisible by`` checks if a variable is divisible by a number: 9 | 10 | .. code-block:: jinja 11 | 12 | {% if loop.index is divisible by(3) %} 13 | ... 14 | {% endif %} 15 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/comparison.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Twig supports comparison operators (==, !=, <, >, >=, <=) 3 | --TEMPLATE-- 4 | {{ 1 > 2 }}/{{ 1 > 1 }}/{{ 1 >= 2 }}/{{ 1 >= 1 }} 5 | {{ 1 < 2 }}/{{ 1 < 1 }}/{{ 1 <= 2 }}/{{ 1 <= 1 }} 6 | {{ 1 == 1 }}/{{ 1 == 2 }} 7 | {{ 1 != 1 }}/{{ 1 != 2 }} 8 | --DATA-- 9 | return array() 10 | --EXPECT-- 11 | ///1 12 | 1//1/1 13 | 1/ 14 | /1 15 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/filters/trim.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "trim" filter 3 | --TEMPLATE-- 4 | {{ " I like Twig. "|trim }} 5 | {{ text|trim }} 6 | {{ " foo/"|trim("/") }} 7 | --DATA-- 8 | return array('text' => " If you have some HTML it will be escaped. ") 9 | --EXPECT-- 10 | I like Twig. 11 | If you have some <strong>HTML</strong> it will be escaped. 12 | foo 13 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/divisibleby.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Twig supports the "divisible by" operator 3 | --TEMPLATE-- 4 | {{ 8 is divisible by(2) ? 'OK' }} 5 | {{ 8 is not divisible by(3) ? 'OK' }} 6 | {{ 8 is divisible by (2) ? 'OK' }} 7 | {{ 8 is not 8 | divisible 9 | by 10 | (3) ? 'OK' }} 11 | --DATA-- 12 | return array() 13 | --EXPECT-- 14 | OK 15 | OK 16 | OK 17 | OK 18 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/filters/round.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "round" filter 3 | --TEMPLATE-- 4 | {{ 2.7|round }} 5 | {{ 2.1|round }} 6 | {{ 2.1234|round(3, 'floor') }} 7 | {{ 2.1|round(0, 'ceil') }} 8 | 9 | {{ 21.3|round(-1)}} 10 | {{ 21.3|round(-1, 'ceil')}} 11 | {{ 21.3|round(-1, 'floor')}} 12 | --DATA-- 13 | return array() 14 | --EXPECT-- 15 | 3 16 | 2 17 | 2.123 18 | 3 19 | 20 | 20 21 | 30 22 | 20 23 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/template_instance.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "extends" tag accepts Twig_Template instance 3 | --TEMPLATE-- 4 | {% extends foo %} 5 | 6 | {% block content %} 7 | {{ parent() }}FOO 8 | {% endblock %} 9 | --TEMPLATE(foo.twig)-- 10 | {% block content %}BAR{% endblock %} 11 | --DATA-- 12 | return array('foo' => $twig->loadTemplate('foo.twig')) 13 | --EXPECT-- 14 | BARFOO 15 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/multiline_function_with_undefined_variable.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Exception for multile function with undefined variable 3 | --TEMPLATE-- 4 | {{ include('foo', 5 | with_context=with_context 6 | ) }} 7 | --TEMPLATE(foo)-- 8 | Foo 9 | --DATA-- 10 | return array() 11 | --EXCEPTION-- 12 | Twig_Error_Runtime: Variable "with_context" does not exist in "index.twig" at line 3 13 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/filters/date_default_format.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "date" filter 3 | --TEMPLATE-- 4 | {{ date1|date }} 5 | {{ date1|date('d/m/Y') }} 6 | --DATA-- 7 | date_default_timezone_set('UTC'); 8 | $twig->getExtension('core')->setDateFormat('Y-m-d', '%d days %h hours'); 9 | return array( 10 | 'date1' => mktime(13, 45, 0, 10, 4, 2010), 11 | ) 12 | --EXPECT-- 13 | 2010-10-04 14 | 04/10/2010 15 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/context.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "for" tag keeps the context safe 3 | --TEMPLATE-- 4 | {% for item in items %} 5 | {% for item in items %} 6 | * {{ item }} 7 | {% endfor %} 8 | * {{ item }} 9 | {% endfor %} 10 | --DATA-- 11 | return array('items' => array('a', 'b')) 12 | --EXPECT-- 13 | * a 14 | * b 15 | * a 16 | * a 17 | * b 18 | * b 19 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/filters/force_escape.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "escape" filter 3 | --TEMPLATE-- 4 | {% set foo %} 5 | foo
6 | {% endset %} 7 | 8 | {{ foo|e('html') -}} 9 | {{ foo|e('js') }} 10 | {% autoescape true %} 11 | {{ foo }} 12 | {% endautoescape %} 13 | --DATA-- 14 | return array() 15 | --EXPECT-- 16 | foo<br /> 17 | \x20\x20\x20\x20foo\x3Cbr\x20\x2F\x3E\x0A 18 | foo
19 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/functions/dump.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "dump" function 3 | --CONDITION-- 4 | !extension_loaded('xdebug') 5 | --TEMPLATE-- 6 | {{ dump('foo') }} 7 | {{ dump('foo', 'bar') }} 8 | --DATA-- 9 | return array('foo' => 'foo', 'bar' => 'bar') 10 | --CONFIG-- 11 | return array('debug' => true, 'autoescape' => false); 12 | --EXPECT-- 13 | string(3) "foo" 14 | 15 | string(3) "foo" 16 | string(3) "bar" 17 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/postfix.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Twig parses postfix expressions 3 | --TEMPLATE-- 4 | {% import _self as macros %} 5 | 6 | {% macro foo() %}foo{% endmacro %} 7 | 8 | {{ 'a' }} 9 | {{ 'a'|upper }} 10 | {{ ('a')|upper }} 11 | {{ -1|upper }} 12 | {{ macros.foo() }} 13 | {{ (macros).foo() }} 14 | --DATA-- 15 | return array(); 16 | --EXPECT-- 17 | a 18 | A 19 | A 20 | -1 21 | foo 22 | foo 23 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/functions/cycle.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "cycle" function 3 | --TEMPLATE-- 4 | {% for i in 0..6 %} 5 | {{ cycle(array1, i) }}-{{ cycle(array2, i) }} 6 | {% endfor %} 7 | --DATA-- 8 | return array('array1' => array('odd', 'even'), 'array2' => array('apple', 'orange', 'citrus')) 9 | --EXPECT-- 10 | odd-apple 11 | even-orange 12 | odd-citrus 13 | even-apple 14 | odd-orange 15 | even-citrus 16 | odd-apple 17 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/inner_variables.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "for" tag does not reset inner variables 3 | --TEMPLATE-- 4 | {% for i in 1..2 %} 5 | {% for j in 0..2 %} 6 | {{k}}{% set k = k+1 %} {{ loop.parent.loop.index }} 7 | {% endfor %} 8 | {% endfor %} 9 | --DATA-- 10 | return array('k' => 0) 11 | --EXPECT-- 12 | 0 1 13 | 1 1 14 | 2 1 15 | 3 2 16 | 4 2 17 | 5 2 18 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/if/expression.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "if" takes an expression as a test 3 | --TEMPLATE-- 4 | {% if a < 2 %} 5 | A1 6 | {% elseif a > 10 %} 7 | A2 8 | {% else %} 9 | A3 10 | {% endif %} 11 | --DATA-- 12 | return array('a' => 1) 13 | --EXPECT-- 14 | A1 15 | --DATA-- 16 | return array('a' => 12) 17 | --EXPECT-- 18 | A2 19 | --DATA-- 20 | return array('a' => 7) 21 | --EXPECT-- 22 | A3 23 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/sandbox/not_valid2.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | sandbox tag 3 | --TEMPLATE-- 4 | {%- sandbox %} 5 | {%- include "foo.twig" %} 6 | 7 | {% if 1 %} 8 | {%- include "foo.twig" %} 9 | {% endif %} 10 | {%- endsandbox %} 11 | --TEMPLATE(foo.twig)-- 12 | foo 13 | --EXCEPTION-- 14 | Twig_Error_Syntax: Only "include" tags are allowed within a "sandbox" section in "index.twig" at line 5 15 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/multiline_function_with_unknown_argument.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Exception for multiline function with unknown argument 3 | --TEMPLATE-- 4 | {{ include('foo', 5 | with_context=True, 6 | invalid=False 7 | ) }} 8 | --EXCEPTION-- 9 | Twig_Error_Syntax: Unknown argument "invalid" for function "include(template, variables, with_context, ignore_missing, sandboxed)" in "index.twig" at line 4. 10 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/nested_else.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "for" tag can use an "else" clause 3 | --TEMPLATE-- 4 | {% for item in items %} 5 | {% for item in items1 %} 6 | * {{ item }} 7 | {% else %} 8 | no {{ item }} 9 | {% endfor %} 10 | {% else %} 11 | no item1 12 | {% endfor %} 13 | --DATA-- 14 | return array('items' => array('a', 'b'), 'items1' => array()) 15 | --EXPECT-- 16 | no a 17 | no b 18 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/if/basic.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "if" creates a condition 3 | --TEMPLATE-- 4 | {% if a is defined %} 5 | {{ a }} 6 | {% elseif b is defined %} 7 | {{ b }} 8 | {% else %} 9 | NOTHING 10 | {% endif %} 11 | --DATA-- 12 | return array('a' => 'a') 13 | --EXPECT-- 14 | a 15 | --DATA-- 16 | return array('b' => 'b') 17 | --EXPECT-- 18 | b 19 | --DATA-- 20 | return array() 21 | --EXPECT-- 22 | NOTHING 23 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/filters/number_format.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "number_format" filter 3 | --TEMPLATE-- 4 | {{ 20|number_format }} 5 | {{ 20.25|number_format }} 6 | {{ 20.25|number_format(2) }} 7 | {{ 20.25|number_format(2, ',') }} 8 | {{ 1020.25|number_format(2, ',') }} 9 | {{ 1020.25|number_format(2, ',', '.') }} 10 | --DATA-- 11 | return array(); 12 | --EXPECT-- 13 | 20 14 | 20 15 | 20.25 16 | 20,25 17 | 1,020,25 18 | 1.020,25 19 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Node/Body.php: -------------------------------------------------------------------------------- 1 | 16 | */ 17 | class Twig_Node_Body extends Twig_Node 18 | { 19 | } 20 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/ignore_missing.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "include" function 3 | --TEMPLATE-- 4 | {{ include(["foo.twig", "bar.twig"], ignore_missing = true) }} 5 | {{ include("foo.twig", ignore_missing = true) }} 6 | {{ include("foo.twig", ignore_missing = true, variables = {}) }} 7 | {{ include("foo.twig", ignore_missing = true, variables = {}, with_context = true) }} 8 | --DATA-- 9 | return array() 10 | --EXPECT-- 11 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/embed/error_line.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "embed" tag 3 | --TEMPLATE(index.twig)-- 4 | FOO 5 | {% embed "foo.twig" %} 6 | {% block c1 %} 7 | {{ nothing }} 8 | {% endblock %} 9 | {% endembed %} 10 | BAR 11 | --TEMPLATE(foo.twig)-- 12 | {% block c1 %}{% endblock %} 13 | --DATA-- 14 | return array() 15 | --EXCEPTION-- 16 | Twig_Error_Runtime: Variable "nothing" does not exist in "index.twig" at line 5 17 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/multiple.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "extends" tag 3 | --TEMPLATE-- 4 | {% extends "layout.twig" %}{% block content %}{{ parent() }}index {% endblock %} 5 | --TEMPLATE(layout.twig)-- 6 | {% extends "base.twig" %}{% block content %}{{ parent() }}layout {% endblock %} 7 | --TEMPLATE(base.twig)-- 8 | {% block content %}base {% endblock %} 9 | --DATA-- 10 | return array() 11 | --EXPECT-- 12 | base layout index 13 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/functions/block.rst: -------------------------------------------------------------------------------- 1 | ``block`` 2 | ========= 3 | 4 | When a template uses inheritance and if you want to print a block multiple 5 | times, use the ``block`` function: 6 | 7 | .. code-block:: jinja 8 | 9 | {% block title %}{% endblock %} 10 | 11 |

{{ block('title') }}

12 | 13 | {% block body %}{% endblock %} 14 | 15 | .. seealso:: :doc:`extends<../tags/extends>`, :doc:`parent<../functions/parent>` 16 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/multiline_array_with_undefined_variable_again.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Exception for multiline array with undefined variable 3 | --TEMPLATE-- 4 | {% set foo = { 5 | foo: 'foo', 6 | bar: 'bar', 7 | 8 | 9 | foobar: foobar, 10 | 11 | 12 | 13 | foo2: foo2, 14 | } %} 15 | --DATA-- 16 | return array() 17 | --EXCEPTION-- 18 | Twig_Error_Runtime: Variable "foobar" does not exist in "index.twig" at line 7 19 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/functions/date_namedargs.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "date" function 3 | --TEMPLATE-- 4 | {{ date(date, "America/New_York")|date('d/m/Y H:i:s P', false) }} 5 | {{ date(timezone="America/New_York", date=date)|date('d/m/Y H:i:s P', false) }} 6 | --DATA-- 7 | date_default_timezone_set('UTC'); 8 | return array('date' => mktime(13, 45, 0, 10, 4, 2010)) 9 | --EXPECT-- 10 | 04/10/2010 09:45:00 -04:00 11 | 04/10/2010 09:45:00 -04:00 12 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/nested_inheritance.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "extends" tag 3 | --TEMPLATE-- 4 | {% extends "layout.twig" %} 5 | {% block inside %}INSIDE{% endblock inside %} 6 | --TEMPLATE(layout.twig)-- 7 | {% extends "base.twig" %} 8 | {% block body %} 9 | {% block inside '' %} 10 | {% endblock body %} 11 | --TEMPLATE(base.twig)-- 12 | {% block body '' %} 13 | --DATA-- 14 | return array() 15 | --EXPECT-- 16 | INSIDE 17 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/unclosed_tag.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Exception for an unclosed tag 3 | --TEMPLATE-- 4 | {% block foo %} 5 | {% if foo %} 6 | 7 | 8 | 9 | 10 | {% for i in fo %} 11 | 12 | 13 | 14 | {% endfor %} 15 | 16 | 17 | 18 | {% endblock %} 19 | --EXCEPTION-- 20 | Twig_Error_Syntax: Unexpected tag name "endblock" (expecting closing tag for the "if" tag defined near line 4) in "index.twig" at line 16 21 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/filters/date_modify.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "date_modify" filter 3 | --TEMPLATE-- 4 | {{ date1|date_modify('-1day')|date('Y-m-d H:i:s') }} 5 | {{ date2|date_modify('-1day')|date('Y-m-d H:i:s') }} 6 | --DATA-- 7 | date_default_timezone_set('UTC'); 8 | return array( 9 | 'date1' => '2010-10-04 13:45', 10 | 'date2' => new DateTime('2010-10-04 13:45'), 11 | ) 12 | --EXPECT-- 13 | 2010-10-03 13:45:00 14 | 2010-10-03 13:45:00 15 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/missing_nested.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "include" tag 3 | --TEMPLATE-- 4 | {% extends "base.twig" %} 5 | 6 | {% block content %} 7 | {{ parent() }} 8 | {% endblock %} 9 | --TEMPLATE(base.twig)-- 10 | {% block content %} 11 | {% include "foo.twig" %} 12 | {% endblock %} 13 | --DATA-- 14 | return array(); 15 | --EXCEPTION-- 16 | Twig_Error_Loader: Template "foo.twig" is not defined in "base.twig" at line 3. 17 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/conditional.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "extends" tag 3 | --TEMPLATE-- 4 | {% extends standalone ? foo : 'bar.twig' %} 5 | 6 | {% block content %}{{ parent() }}FOO{% endblock %} 7 | --TEMPLATE(foo.twig)-- 8 | {% block content %}FOO{% endblock %} 9 | --TEMPLATE(bar.twig)-- 10 | {% block content %}BAR{% endblock %} 11 | --DATA-- 12 | return array('foo' => 'foo.twig', 'standalone' => true) 13 | --EXPECT-- 14 | FOOFOO 15 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/tests/sameas.rst: -------------------------------------------------------------------------------- 1 | ``same as`` 2 | =========== 3 | 4 | .. versionadded:: 1.14.2 5 | The ``same as`` test was added in Twig 1.14.2 as an alias for ``sameas``. 6 | 7 | ``same as`` checks if a variable is the same as another variable. 8 | This is the equivalent to ``===`` in PHP: 9 | 10 | .. code-block:: jinja 11 | 12 | {% if foo.attribute is same as(false) %} 13 | the foo attribute really is the 'false' PHP value 14 | {% endif %} 15 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/regression/combined_debug_info.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Exception with bad line number 3 | --TEMPLATE-- 4 | {% block content %} 5 | {{ foo }} 6 | {{ include("foo") }} 7 | {% endblock %} 8 | index 9 | --TEMPLATE(foo)-- 10 | foo 11 | {{ foo.bar }} 12 | --DATA-- 13 | return array('foo' => 'foo'); 14 | --EXCEPTION-- 15 | Twig_Error_Runtime: Impossible to access an attribute ("bar") on a string variable ("foo") in "foo" at line 3 16 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/multiline_array_with_undefined_variable.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Exception for multiline array with undefined variable 3 | --TEMPLATE-- 4 | {% set foo = { 5 | foo: 'foo', 6 | bar: 'bar', 7 | 8 | 9 | foobar: foobar, 10 | 11 | 12 | 13 | foo2: foo2, 14 | } %} 15 | --DATA-- 16 | return array('foobar' => 'foobar') 17 | --EXCEPTION-- 18 | Twig_Error_Runtime: Variable "foo2" does not exist in "index.twig" at line 11 19 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/missing_nested.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "include" function 3 | --TEMPLATE-- 4 | {% extends "base.twig" %} 5 | 6 | {% block content %} 7 | {{ parent() }} 8 | {% endblock %} 9 | --TEMPLATE(base.twig)-- 10 | {% block content %} 11 | {{ include("foo.twig") }} 12 | {% endblock %} 13 | --DATA-- 14 | return array(); 15 | --EXCEPTION-- 16 | Twig_Error_Loader: Template "foo.twig" is not defined in "base.twig" at line 3. 17 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/NodeOutputInterface.php: -------------------------------------------------------------------------------- 1 | 16 | */ 17 | interface Twig_NodeOutputInterface 18 | { 19 | } 20 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/deep.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "use" tag 3 | --TEMPLATE-- 4 | {% use "foo.twig" %} 5 | 6 | {{ block('content') }} 7 | {{ block('foo') }} 8 | {{ block('bar') }} 9 | --TEMPLATE(foo.twig)-- 10 | {% use "bar.twig" %} 11 | 12 | {% block content 'foo' %} 13 | {% block foo 'foo' %} 14 | --TEMPLATE(bar.twig)-- 15 | {% block content 'bar' %} 16 | {% block bar 'bar' %} 17 | --DATA-- 18 | return array() 19 | --EXPECT-- 20 | foo 21 | foo 22 | bar 23 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/multiple.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "use" tag 3 | --TEMPLATE-- 4 | {% use "foo.twig" %} 5 | {% use "bar.twig" %} 6 | 7 | {{ block('content') }} 8 | {{ block('foo') }} 9 | {{ block('bar') }} 10 | --TEMPLATE(foo.twig)-- 11 | {% block content 'foo' %} 12 | {% block foo 'foo' %} 13 | --TEMPLATE(bar.twig)-- 14 | {% block content 'bar' %} 15 | {% block bar 'bar' %} 16 | --DATA-- 17 | return array() 18 | --EXPECT-- 19 | bar 20 | foo 21 | bar 22 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tests/in_with_objects.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Twig supports the in operator when using objects 3 | --TEMPLATE-- 4 | {% if object in object_list %} 5 | TRUE 6 | {% endif %} 7 | --DATA-- 8 | $foo = new TwigTestFoo(); 9 | $foo1 = new TwigTestFoo(); 10 | 11 | $foo->position = $foo1; 12 | $foo1->position = $foo; 13 | 14 | return array( 15 | 'object' => $foo, 16 | 'object_list' => array($foo1, $foo), 17 | ); 18 | --EXPECT-- 19 | TRUE 20 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/autoescape/filename.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "filename" autoescape strategy 3 | --TEMPLATE-- 4 | {{ br -}} 5 | {{ include('index.html.twig') -}} 6 | {{ include('index.txt.twig') -}} 7 | --TEMPLATE(index.html.twig)-- 8 | {{ br -}} 9 | --TEMPLATE(index.txt.twig)-- 10 | {{ br -}} 11 | --DATA-- 12 | return array('br' => '
') 13 | --CONFIG-- 14 | return array('autoescape' => 'filename') 15 | --EXPECT-- 16 | <br /> 17 | <br /> 18 |
19 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/sameas.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Twig supports the "same as" operator 3 | --TEMPLATE-- 4 | {{ 1 is same as(1) ? 'OK' }} 5 | {{ 1 is not same as(true) ? 'OK' }} 6 | {{ 1 is same as(1) ? 'OK' }} 7 | {{ 1 is not same as(true) ? 'OK' }} 8 | {{ 1 is same as (1) ? 'OK' }} 9 | {{ 1 is not 10 | same 11 | as 12 | (true) ? 'OK' }} 13 | --DATA-- 14 | return array() 15 | --EXPECT-- 16 | OK 17 | OK 18 | OK 19 | OK 20 | OK 21 | OK 22 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/sandbox/simple.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | sandbox tag 3 | --TEMPLATE-- 4 | {%- sandbox %} 5 | {%- include "foo.twig" %} 6 | {%- endsandbox %} 7 | 8 | {%- sandbox %} 9 | {%- include "foo.twig" %} 10 | {%- include "foo.twig" %} 11 | {%- endsandbox %} 12 | 13 | {%- sandbox %}{% include "foo.twig" %}{% endsandbox %} 14 | --TEMPLATE(foo.twig)-- 15 | foo 16 | --DATA-- 17 | return array() 18 | --EXPECT-- 19 | foo 20 | foo 21 | foo 22 | foo 23 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tests/constant.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "const" test 3 | --TEMPLATE-- 4 | {{ 8 is constant('E_NOTICE') ? 'ok' : 'no' }} 5 | {{ 'bar' is constant('TwigTestFoo::BAR_NAME') ? 'ok' : 'no' }} 6 | {{ value is constant('TwigTestFoo::BAR_NAME') ? 'ok' : 'no' }} 7 | {{ 2 is constant('ARRAY_AS_PROPS', object) ? 'ok' : 'no' }} 8 | --DATA-- 9 | return array('value' => 'bar', 'object' => new ArrayObject(array('hi'))); 10 | --EXPECT-- 11 | ok 12 | ok 13 | ok 14 | ok -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/from.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "macro" tag 3 | --TEMPLATE-- 4 | {% from 'forms.twig' import foo %} 5 | {% from 'forms.twig' import foo as foobar, bar %} 6 | 7 | {{ foo('foo') }} 8 | {{ foobar('foo') }} 9 | {{ bar('foo') }} 10 | --TEMPLATE(forms.twig)-- 11 | {% macro foo(name) %}foo{{ name }}{% endmacro %} 12 | {% macro bar(name) %}bar{{ name }}{% endmacro %} 13 | --DATA-- 14 | return array() 15 | --EXPECT-- 16 | foofoo 17 | foofoo 18 | barfoo 19 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/filters/format.rst: -------------------------------------------------------------------------------- 1 | ``format`` 2 | ========== 3 | 4 | The ``format`` filter formats a given string by replacing the placeholders 5 | (placeholders follows the `sprintf`_ notation): 6 | 7 | .. code-block:: jinja 8 | 9 | {{ "I like %s and %s."|format(foo, "bar") }} 10 | 11 | {# outputs I like foo and bar 12 | if the foo parameter equals to the foo string. #} 13 | 14 | .. _`sprintf`: http://www.php.net/sprintf 15 | 16 | .. seealso:: :doc:`replace` 17 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/ternary_operator.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Twig supports the ternary operator 3 | --TEMPLATE-- 4 | {{ 1 ? 'YES' : 'NO' }} 5 | {{ 0 ? 'YES' : 'NO' }} 6 | {{ 0 ? 'YES' : (1 ? 'YES1' : 'NO1') }} 7 | {{ 0 ? 'YES' : (0 ? 'YES1' : 'NO1') }} 8 | {{ 1 == 1 ? 'foo
':'' }} 9 | {{ foo ~ (bar ? ('-' ~ bar) : '') }} 10 | --DATA-- 11 | return array('foo' => 'foo', 'bar' => 'bar') 12 | --EXPECT-- 13 | YES 14 | NO 15 | YES1 16 | NO1 17 | foo
18 | foo-bar 19 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/filters/merge.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "merge" filter 3 | --TEMPLATE-- 4 | {{ items|merge({'bar': 'foo'})|join }} 5 | {{ items|merge({'bar': 'foo'})|keys|join }} 6 | {{ {'bar': 'foo'}|merge(items)|join }} 7 | {{ {'bar': 'foo'}|merge(items)|keys|join }} 8 | {{ numerics|merge([4, 5, 6])|join }} 9 | --DATA-- 10 | return array('items' => array('foo' => 'bar'), 'numerics' => array(1, 2, 3)) 11 | --EXPECT-- 12 | barfoo 13 | foobar 14 | foobar 15 | barfoo 16 | 123456 17 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/filters/nl2br.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "nl2br" filter 3 | --TEMPLATE-- 4 | {{ "I like Twig.\nYou will like it too.\n\nEverybody like it!"|nl2br }} 5 | {{ text|nl2br }} 6 | --DATA-- 7 | return array('text' => "If you have some HTML\nit will be escaped.") 8 | --EXPECT-- 9 | I like Twig.
10 | You will like it too.
11 |
12 | Everybody like it! 13 | If you have some <strong>HTML</strong>
14 | it will be escaped. 15 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tests/iterable.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "iterable" test 3 | --TEMPLATE-- 4 | {{ foo is iterable ? 'ok' : 'ko' }} 5 | {{ traversable is iterable ? 'ok' : 'ko' }} 6 | {{ obj is iterable ? 'ok' : 'ko' }} 7 | {{ val is iterable ? 'ok' : 'ko' }} 8 | --DATA-- 9 | return array( 10 | 'foo' => array(), 11 | 'traversable' => new ArrayIterator(array()), 12 | 'obj' => new stdClass(), 13 | 'val' => 'test', 14 | ); 15 | --EXPECT-- 16 | ok 17 | ok 18 | ko 19 | ko -------------------------------------------------------------------------------- /vendor/twig/twig/ext/twig/.gitignore: -------------------------------------------------------------------------------- 1 | *.sw* 2 | .deps 3 | Makefile 4 | Makefile.fragments 5 | Makefile.global 6 | Makefile.objects 7 | acinclude.m4 8 | aclocal.m4 9 | build/ 10 | config.cache 11 | config.guess 12 | config.h 13 | config.h.in 14 | config.log 15 | config.nice 16 | config.status 17 | config.sub 18 | configure 19 | configure.in 20 | install-sh 21 | libtool 22 | ltmain.sh 23 | missing 24 | mkinstalldirs 25 | run-tests.php 26 | twig.loT 27 | .libs/ 28 | modules/ 29 | twig.la 30 | twig.lo 31 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/recursive.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "for" tags can be nested 3 | --TEMPLATE-- 4 | {% for key, item in items %} 5 | * {{ key }} ({{ loop.length }}): 6 | {% for value in item %} 7 | * {{ value }} ({{ loop.length }}) 8 | {% endfor %} 9 | {% endfor %} 10 | --DATA-- 11 | return array('items' => array('a' => array('a1', 'a2', 'a3'), 'b' => array('b1'))) 12 | --EXPECT-- 13 | * a (2): 14 | * a1 (3) 15 | * a2 (3) 16 | * a3 (3) 17 | * b (2): 18 | * b1 (1) 19 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/loop_context.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "for" tag adds a loop variable to the context 3 | --TEMPLATE-- 4 | {% for item in items %} 5 | * {{ loop.index }}/{{ loop.index0 }} 6 | * {{ loop.revindex }}/{{ loop.revindex0 }} 7 | * {{ loop.first }}/{{ loop.last }}/{{ loop.length }} 8 | 9 | {% endfor %} 10 | --DATA-- 11 | return array('items' => array('a', 'b')) 12 | --EXPECT-- 13 | * 1/0 14 | * 2/1 15 | * 1//2 16 | 17 | * 2/1 18 | * 1/0 19 | * /1/2 20 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Node/Expression/Binary/Equal.php: -------------------------------------------------------------------------------- 1 | raw('=='); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Node/Expression/Binary/Less.php: -------------------------------------------------------------------------------- 1 | raw('<'); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Sandbox/SecurityError.php: -------------------------------------------------------------------------------- 1 | 16 | */ 17 | class Twig_Sandbox_SecurityError extends Twig_Error 18 | { 19 | } 20 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/macros/simple.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | macro 3 | --TEMPLATE-- 4 | {% import _self as test %} 5 | {% from _self import test %} 6 | 7 | {% macro test(a, b) -%} 8 | {{ a|default('a') }}
9 | {{- b|default('b') }}
10 | {%- endmacro %} 11 | 12 | {{ test.test() }} 13 | {{ test() }} 14 | {{ test.test(1, "c") }} 15 | {{ test(1, "c") }} 16 | --DATA-- 17 | return array(); 18 | --EXPECT-- 19 | a
b
20 | a
b
21 | 1
c
22 | 1
c
23 | -------------------------------------------------------------------------------- /app/home/home.php: -------------------------------------------------------------------------------- 1 | name); 10 | $this->set("test", "PriMer Test"); 11 | $this->set("go", "SEGUNDO"); 12 | } 13 | 14 | function lower_case($txt){ 15 | return strtolower($txt); 16 | } 17 | 18 | function not_a_filter($txt){ 19 | return strtoupper($txt); 20 | } 21 | 22 | } 23 | 24 | ?> -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Node/Expression/Binary/Greater.php: -------------------------------------------------------------------------------- 1 | raw('>'); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/functions/min.rst: -------------------------------------------------------------------------------- 1 | ``min`` 2 | ======= 3 | 4 | .. versionadded:: 1.15 5 | The ``min`` function was added in Twig 1.15. 6 | 7 | ``min`` returns the lowest value of a sequence or a set of values: 8 | 9 | .. code-block:: jinja 10 | 11 | {{ min(1, 3, 2) }} 12 | {{ min([1, 3, 2]) }} 13 | 14 | When called with a mapping, min ignores keys and only compares values: 15 | 16 | .. code-block:: jinja 17 | 18 | {{ min({2: "e", 3: "a", 1: "b", 5: "d", 4: "c"}) }} 19 | {# returns "a" #} 20 | 21 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/tags/block.rst: -------------------------------------------------------------------------------- 1 | ``block`` 2 | ========= 3 | 4 | Blocks are used for inheritance and act as placeholders and replacements at 5 | the same time. They are documented in detail in the documentation for the 6 | :doc:`extends<../tags/extends>` tag. 7 | 8 | Block names should consist of alphanumeric characters, and underscores. Dashes 9 | are not permitted. 10 | 11 | .. seealso:: :doc:`block<../functions/block>`, :doc:`parent<../functions/parent>`, :doc:`use<../tags/use>`, :doc:`extends<../tags/extends>` 12 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Error/Runtime.php: -------------------------------------------------------------------------------- 1 | 17 | */ 18 | class Twig_Error_Runtime extends Twig_Error 19 | { 20 | } 21 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Node/Expression/Binary/LessEqual.php: -------------------------------------------------------------------------------- 1 | raw('<='); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Node/Expression/Binary/NotEqual.php: -------------------------------------------------------------------------------- 1 | raw('!='); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/filters/date_default_format_interval.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "date" filter (interval support as of PHP 5.3) 3 | --CONDITION-- 4 | version_compare(phpversion(), '5.3.0', '>=') 5 | --TEMPLATE-- 6 | {{ date2|date }} 7 | {{ date2|date('%d days') }} 8 | --DATA-- 9 | date_default_timezone_set('UTC'); 10 | $twig->getExtension('core')->setDateFormat('Y-m-d', '%d days %h hours'); 11 | return array( 12 | 'date2' => new DateInterval('P2D'), 13 | ) 14 | --EXPECT-- 15 | 2 days 0 hours 16 | 2 days 17 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/else.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "for" tag can use an "else" clause 3 | --TEMPLATE-- 4 | {% for item in items %} 5 | * {{ item }} 6 | {% else %} 7 | no item 8 | {% endfor %} 9 | --DATA-- 10 | return array('items' => array('a', 'b')) 11 | --EXPECT-- 12 | * a 13 | * b 14 | --DATA-- 15 | return array('items' => array()) 16 | --EXPECT-- 17 | no item 18 | --DATA-- 19 | return array() 20 | --CONFIG-- 21 | return array('strict_variables' => false) 22 | --EXPECT-- 23 | no item 24 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/functions/max.rst: -------------------------------------------------------------------------------- 1 | ``max`` 2 | ======= 3 | 4 | .. versionadded:: 1.15 5 | The ``max`` function was added in Twig 1.15. 6 | 7 | ``max`` returns the biggest value of a sequence or a set of values: 8 | 9 | .. code-block:: jinja 10 | 11 | {{ max(1, 3, 2) }} 12 | {{ max([1, 3, 2]) }} 13 | 14 | When called with a mapping, max ignores keys and only compares values: 15 | 16 | .. code-block:: jinja 17 | 18 | {{ max({2: "e", 1: "a", 3: "b", 5: "d", 4: "c"}) }} 19 | {# returns "e" #} 20 | 21 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Node/Expression/Binary/GreaterEqual.php: -------------------------------------------------------------------------------- 1 | raw('>='); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Node/Expression/Unary/Neg.php: -------------------------------------------------------------------------------- 1 | raw('-'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Node/Expression/Unary/Not.php: -------------------------------------------------------------------------------- 1 | raw('!'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Node/Expression/Unary/Pos.php: -------------------------------------------------------------------------------- 1 | raw('+'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/filters/date_namedargs.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "date" filter 3 | --TEMPLATE-- 4 | {{ date|date(format='d/m/Y H:i:s P', timezone='America/Chicago') }} 5 | {{ date|date(timezone='America/Chicago', format='d/m/Y H:i:s P') }} 6 | {{ date|date('d/m/Y H:i:s P', timezone='America/Chicago') }} 7 | --DATA-- 8 | date_default_timezone_set('UTC'); 9 | return array('date' => mktime(13, 45, 0, 10, 4, 2010)) 10 | --EXPECT-- 11 | 04/10/2010 08:45:00 -05:00 12 | 04/10/2010 08:45:00 -05:00 13 | 04/10/2010 08:45:00 -05:00 14 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/parent_nested.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "extends" tag 3 | --TEMPLATE-- 4 | {% extends "foo.twig" %} 5 | 6 | {% block content %} 7 | {% block inside %} 8 | INSIDE OVERRIDDEN 9 | {% endblock %} 10 | 11 | BEFORE 12 | {{ parent() }} 13 | AFTER 14 | {% endblock %} 15 | --TEMPLATE(foo.twig)-- 16 | {% block content %} 17 | BAR 18 | {% endblock %} 19 | --DATA-- 20 | return array() 21 | --EXPECT-- 22 | 23 | INSIDE OVERRIDDEN 24 | 25 | BEFORE 26 | BAR 27 | 28 | AFTER 29 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Node/Expression.php: -------------------------------------------------------------------------------- 1 | 17 | */ 18 | abstract class Twig_Node_Expression extends Twig_Node 19 | { 20 | } 21 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Node/Expression/Binary/Add.php: -------------------------------------------------------------------------------- 1 | raw('+'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Node/Expression/Binary/And.php: -------------------------------------------------------------------------------- 1 | raw('&&'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Node/Expression/Binary/Div.php: -------------------------------------------------------------------------------- 1 | raw('/'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Node/Expression/Binary/Mod.php: -------------------------------------------------------------------------------- 1 | raw('%'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Node/Expression/Binary/Mul.php: -------------------------------------------------------------------------------- 1 | raw('*'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Node/Expression/Binary/Or.php: -------------------------------------------------------------------------------- 1 | raw('||'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Node/Expression/Binary/Sub.php: -------------------------------------------------------------------------------- 1 | raw('-'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/only.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "include" tag accept variables and only 3 | --TEMPLATE-- 4 | {% include "foo.twig" %} 5 | {% include "foo.twig" only %} 6 | {% include "foo.twig" with {'foo1': 'bar'} %} 7 | {% include "foo.twig" with {'foo1': 'bar'} only %} 8 | --TEMPLATE(foo.twig)-- 9 | {% for k, v in _context %}{{ k }},{% endfor %} 10 | --DATA-- 11 | return array('foo' => 'bar') 12 | --EXPECT-- 13 | foo,global,_parent, 14 | global,_parent, 15 | foo,global,foo1,_parent, 16 | foo1,global,_parent, 17 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tests/array.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | array index test 3 | --TEMPLATE-- 4 | {% for key, value in days %} 5 | {{ key }} 6 | {% endfor %} 7 | --DATA-- 8 | return array('days' => array( 9 | 1 => array('money' => 9), 10 | 2 => array('money' => 21), 11 | 3 => array('money' => 38), 12 | 4 => array('money' => 6), 13 | 18 => array('money' => 6), 14 | 19 => array('money' => 3), 15 | 31 => array('money' => 11), 16 | )); 17 | --EXPECT-- 18 | 1 19 | 2 20 | 3 21 | 4 22 | 18 23 | 19 24 | 31 25 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/filters/replace.rst: -------------------------------------------------------------------------------- 1 | ``replace`` 2 | =========== 3 | 4 | The ``replace`` filter formats a given string by replacing the placeholders 5 | (placeholders are free-form): 6 | 7 | .. code-block:: jinja 8 | 9 | {{ "I like %this% and %that%."|replace({'%this%': foo, '%that%': "bar"}) }} 10 | 11 | {# outputs I like foo and bar 12 | if the foo parameter equals to the foo string. #} 13 | 14 | Arguments 15 | --------- 16 | 17 | * ``replace_pairs``: The placeholder values 18 | 19 | .. seealso:: :doc:`format` 20 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/functions/constant.rst: -------------------------------------------------------------------------------- 1 | ``constant`` 2 | ============ 3 | 4 | .. versionadded: 1.12.1 5 | constant now accepts object instances as the second argument. 6 | 7 | ``constant`` returns the constant value for a given string: 8 | 9 | .. code-block:: jinja 10 | 11 | {{ some_date|date(constant('DATE_W3C')) }} 12 | {{ constant('Namespace\\Classname::CONSTANT_NAME') }} 13 | 14 | As of 1.12.1 you can read constants from object instances as well: 15 | 16 | .. code-block:: jinja 17 | 18 | {{ constant('RSS', date) }} 19 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Node/Expression/Binary/Concat.php: -------------------------------------------------------------------------------- 1 | raw('.'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Error/Syntax.php: -------------------------------------------------------------------------------- 1 | 17 | */ 18 | class Twig_Error_Syntax extends Twig_Error 19 | { 20 | } 21 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Node/Expression/Binary/BitwiseOr.php: -------------------------------------------------------------------------------- 1 | raw('|'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/multiple_aliases.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "use" tag 3 | --TEMPLATE-- 4 | {% use "foo.twig" with content as foo_content %} 5 | {% use "bar.twig" %} 6 | 7 | {{ block('content') }} 8 | {{ block('foo') }} 9 | {{ block('bar') }} 10 | {{ block('foo_content') }} 11 | --TEMPLATE(foo.twig)-- 12 | {% block content 'foo' %} 13 | {% block foo 'foo' %} 14 | --TEMPLATE(bar.twig)-- 15 | {% block content 'bar' %} 16 | {% block bar 'bar' %} 17 | --DATA-- 18 | return array() 19 | --EXPECT-- 20 | bar 21 | foo 22 | bar 23 | foo 24 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/filters/nl2br.rst: -------------------------------------------------------------------------------- 1 | ``nl2br`` 2 | ========= 3 | 4 | .. versionadded:: 1.5 5 | The ``nl2br`` filter was added in Twig 1.5. 6 | 7 | The ``nl2br`` filter inserts HTML line breaks before all newlines in a string: 8 | 9 | .. code-block:: jinja 10 | 11 | {{ "I like Twig.\nYou will like it too."|nl2br }} 12 | {# outputs 13 | 14 | I like Twig.
15 | You will like it too. 16 | 17 | #} 18 | 19 | .. note:: 20 | 21 | The ``nl2br`` filter pre-escapes the input before applying the 22 | transformation. 23 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Node/Expression/Binary/BitwiseAnd.php: -------------------------------------------------------------------------------- 1 | raw('&'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Node/Expression/Binary/BitwiseXor.php: -------------------------------------------------------------------------------- 1 | raw('^'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/strategy.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "autoescape" tag accepts an escaping strategy 3 | --TEMPLATE-- 4 | {% autoescape true js %}{{ var }}{% endautoescape %} 5 | 6 | {% autoescape true html %}{{ var }}{% endautoescape %} 7 | 8 | {% autoescape 'js' %}{{ var }}{% endautoescape %} 9 | 10 | {% autoescape 'html' %}{{ var }}{% endautoescape %} 11 | --DATA-- 12 | return array('var' => '
"') 13 | --EXPECT-- 14 | \x3Cbr\x20\x2F\x3E\x22 15 | <br />" 16 | \x3Cbr\x20\x2F\x3E\x22 17 | <br />" 18 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/filters/join.rst: -------------------------------------------------------------------------------- 1 | ``join`` 2 | ======== 3 | 4 | The ``join`` filter returns a string which is the concatenation of the items 5 | of a sequence: 6 | 7 | .. code-block:: jinja 8 | 9 | {{ [1, 2, 3]|join }} 10 | {# returns 123 #} 11 | 12 | The separator between elements is an empty string per default, but you can 13 | define it with the optional first parameter: 14 | 15 | .. code-block:: jinja 16 | 17 | {{ [1, 2, 3]|join('|') }} 18 | {# outputs 1|2|3 #} 19 | 20 | Arguments 21 | --------- 22 | 23 | * ``glue``: The separator 24 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/filters/reverse.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "reverse" filter 3 | --TEMPLATE-- 4 | {{ [1, 2, 3, 4]|reverse|join('') }} 5 | {{ '1234évènement'|reverse }} 6 | {{ arr|reverse|join('') }} 7 | {{ {'a': 'c', 'b': 'a'}|reverse()|join(',') }} 8 | {{ {'a': 'c', 'b': 'a'}|reverse(preserveKeys=true)|join(glue=',') }} 9 | {{ {'a': 'c', 'b': 'a'}|reverse(preserve_keys=true)|join(glue=',') }} 10 | --DATA-- 11 | return array('arr' => new ArrayObject(array(1, 2, 3, 4))) 12 | --EXPECT-- 13 | 4321 14 | tnemenèvé4321 15 | 4321 16 | a,c 17 | a,c 18 | a,c 19 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/nested_blocks.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "block" tag 3 | --TEMPLATE-- 4 | {% extends "foo.twig" %} 5 | 6 | {% block content %} 7 | {% block subcontent %} 8 | {% block subsubcontent %} 9 | SUBSUBCONTENT 10 | {% endblock %} 11 | {% endblock %} 12 | {% endblock %} 13 | --TEMPLATE(foo.twig)-- 14 | {% block content %} 15 | {% block subcontent %} 16 | SUBCONTENT 17 | {% endblock %} 18 | {% endblock %} 19 | --DATA-- 20 | return array() 21 | --EXPECT-- 22 | SUBSUBCONTENT 23 | -------------------------------------------------------------------------------- /vendor/twig/twig/README.rst: -------------------------------------------------------------------------------- 1 | Twig, the flexible, fast, and secure template language for PHP 2 | ============================================================== 3 | 4 | Twig is a template language for PHP, released under the new BSD license (code 5 | and documentation). 6 | 7 | Twig uses a syntax similar to the Django and Jinja template languages which 8 | inspired the Twig runtime environment. 9 | 10 | More Information 11 | ---------------- 12 | 13 | Read the `documentation`_ for more information. 14 | 15 | .. _documentation: http://twig.sensiolabs.org/documentation 16 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/TestCallableInterface.php: -------------------------------------------------------------------------------- 1 | 16 | * @deprecated since 1.12 (to be removed in 2.0) 17 | */ 18 | interface Twig_TestCallableInterface 19 | { 20 | public function getCallable(); 21 | } 22 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/filter/with_if_tag.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "filter" tag applies the filter on "if" tags 3 | --TEMPLATE-- 4 | {% filter upper %} 5 | {% if items %} 6 | {{ items|join(', ') }} 7 | {% endif %} 8 | 9 | {% if items.3 is defined %} 10 | FOO 11 | {% else %} 12 | {{ items.1 }} 13 | {% endif %} 14 | 15 | {% if items.3 is defined %} 16 | FOO 17 | {% elseif items.1 %} 18 | {{ items.0 }} 19 | {% endif %} 20 | 21 | {% endfilter %} 22 | --DATA-- 23 | return array('items' => array('a', 'b')) 24 | --EXPECT-- 25 | A, B 26 | 27 | B 28 | 29 | A 30 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/tests/iterable.rst: -------------------------------------------------------------------------------- 1 | ``iterable`` 2 | ============ 3 | 4 | .. versionadded:: 1.7 5 | The iterable test was added in Twig 1.7. 6 | 7 | ``iterable`` checks if a variable is an array or a traversable object: 8 | 9 | .. code-block:: jinja 10 | 11 | {# evaluates to true if the foo variable is iterable #} 12 | {% if users is iterable %} 13 | {% for user in users %} 14 | Hello {{ user }}! 15 | {% endfor %} 16 | {% else %} 17 | {# users is probably a string #} 18 | Hello {{ users }}! 19 | {% endif %} 20 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/tags/filter.rst: -------------------------------------------------------------------------------- 1 | ``filter`` 2 | ========== 3 | 4 | Filter sections allow you to apply regular Twig filters on a block of template 5 | data. Just wrap the code in the special ``filter`` section: 6 | 7 | .. code-block:: jinja 8 | 9 | {% filter upper %} 10 | This text becomes uppercase 11 | {% endfilter %} 12 | 13 | You can also chain filters: 14 | 15 | .. code-block:: jinja 16 | 17 | {% filter lower|escape %} 18 | SOME TEXT 19 | {% endfilter %} 20 | 21 | {# outputs "<strong>some text</strong>" #} 22 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/filters/abs.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "abs" filter 3 | --TEMPLATE-- 4 | {{ (-5.5)|abs }} 5 | {{ (-5)|abs }} 6 | {{ (-0)|abs }} 7 | {{ 0|abs }} 8 | {{ 5|abs }} 9 | {{ 5.5|abs }} 10 | {{ number1|abs }} 11 | {{ number2|abs }} 12 | {{ number3|abs }} 13 | {{ number4|abs }} 14 | {{ number5|abs }} 15 | {{ number6|abs }} 16 | --DATA-- 17 | return array('number1' => -5.5, 'number2' => -5, 'number3' => -0, 'number4' => 0, 'number5' => 5, 'number6' => 5.5) 18 | --EXPECT-- 19 | 5.5 20 | 5 21 | 0 22 | 0 23 | 5 24 | 5.5 25 | 5.5 26 | 5 27 | 0 28 | 0 29 | 5 30 | 5.5 31 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/filters/number_format_default.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "number_format" filter with defaults. 3 | --TEMPLATE-- 4 | {{ 20|number_format }} 5 | {{ 20.25|number_format }} 6 | {{ 20.25|number_format(1) }} 7 | {{ 20.25|number_format(2, ',') }} 8 | {{ 1020.25|number_format }} 9 | {{ 1020.25|number_format(2, ',') }} 10 | {{ 1020.25|number_format(2, ',', '.') }} 11 | --DATA-- 12 | $twig->getExtension('core')->setNumberFormat(2, '!', '='); 13 | return array(); 14 | --EXPECT-- 15 | 20!00 16 | 20!25 17 | 20!3 18 | 20,25 19 | 1=020!25 20 | 1=020,25 21 | 1.020,25 22 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/functions/template_from_string.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "template_from_string" function 3 | --TEMPLATE-- 4 | {% include template_from_string(template) %} 5 | 6 | {% include template_from_string("Hello {{ name }}") %} 7 | {% include template_from_string('{% extends "parent.twig" %}{% block content %}Hello {{ name }}{% endblock %}') %} 8 | --TEMPLATE(parent.twig)-- 9 | {% block content %}{% endblock %} 10 | --DATA-- 11 | return array('name' => 'Fabien', 'template' => "Hello {{ name }}") 12 | --EXPECT-- 13 | Hello Fabien 14 | Hello Fabien 15 | Hello Fabien 16 | -------------------------------------------------------------------------------- /core/page.php: -------------------------------------------------------------------------------- 1 | name = $name; 11 | $this->dir = strtolower($name) . '/' . strtolower($name); 12 | $this->vars = array(); 13 | $this->extension = array( 14 | 'template' => '.html', 15 | 'code' => '.php'); 16 | } 17 | 18 | function set($variable, $content){ 19 | 20 | $this->vars[$variable] = $content; 21 | } 22 | 23 | function templateDir(){ 24 | return $this->dir . $this->extension['template']; 25 | } 26 | } 27 | ?> -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/with_context.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "include" function accept variables and with_context 3 | --TEMPLATE-- 4 | {{ include("foo.twig") }} 5 | {{- include("foo.twig", with_context = false) }} 6 | {{- include("foo.twig", {'foo1': 'bar'}) }} 7 | {{- include("foo.twig", {'foo1': 'bar'}, with_context = false) }} 8 | --TEMPLATE(foo.twig)-- 9 | {% for k, v in _context %}{{ k }},{% endfor %} 10 | --DATA-- 11 | return array('foo' => 'bar') 12 | --EXPECT-- 13 | foo,global,_parent, 14 | global,_parent, 15 | foo,global,foo1,_parent, 16 | foo1,global,_parent, 17 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/embed/basic.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "embed" tag 3 | --TEMPLATE-- 4 | FOO 5 | {% embed "foo.twig" %} 6 | {% block c1 %} 7 | {{ parent() }} 8 | block1extended 9 | {% endblock %} 10 | {% endembed %} 11 | 12 | BAR 13 | --TEMPLATE(foo.twig)-- 14 | A 15 | {% block c1 %} 16 | block1 17 | {% endblock %} 18 | B 19 | {% block c2 %} 20 | block2 21 | {% endblock %} 22 | C 23 | --DATA-- 24 | return array() 25 | --EXPECT-- 26 | FOO 27 | 28 | A 29 | block1 30 | 31 | block1extended 32 | B 33 | block2 34 | C 35 | BAR 36 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/filters/index.rst: -------------------------------------------------------------------------------- 1 | Filters 2 | ======= 3 | 4 | .. toctree:: 5 | :maxdepth: 1 6 | 7 | abs 8 | batch 9 | capitalize 10 | convert_encoding 11 | date 12 | date_modify 13 | default 14 | escape 15 | first 16 | format 17 | join 18 | json_encode 19 | keys 20 | last 21 | length 22 | lower 23 | merge 24 | nl2br 25 | number_format 26 | raw 27 | replace 28 | reverse 29 | round 30 | slice 31 | sort 32 | split 33 | striptags 34 | title 35 | trim 36 | upper 37 | url_encode 38 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/filters/json_encode.rst: -------------------------------------------------------------------------------- 1 | ``json_encode`` 2 | =============== 3 | 4 | The ``json_encode`` filter returns the JSON representation of a value: 5 | 6 | .. code-block:: jinja 7 | 8 | {{ data|json_encode() }} 9 | 10 | .. note:: 11 | 12 | Internally, Twig uses the PHP `json_encode`_ function. 13 | 14 | Arguments 15 | --------- 16 | 17 | * ``options``: A bitmask of `json_encode options`_ (``{{ 18 | data|json_encode(constant('JSON_PRETTY_PRINT')) }}``) 19 | 20 | .. _`json_encode`: http://php.net/json_encode 21 | .. _`json_encode options`: http://www.php.net/manual/en/json.constants.php 22 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/basic.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "macro" tag 3 | --TEMPLATE-- 4 | {% import _self as macros %} 5 | 6 | {{ macros.input('username') }} 7 | {{ macros.input('password', null, 'password', 1) }} 8 | 9 | {% macro input(name, value, type, size) %} 10 | 11 | {% endmacro %} 12 | --DATA-- 13 | return array() 14 | --EXPECT-- 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/self_import.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "macro" tag 3 | --TEMPLATE-- 4 | {% import _self as forms %} 5 | 6 | {{ forms.input('username') }} 7 | {{ forms.input('password', null, 'password', 1) }} 8 | 9 | {% macro input(name, value, type, size) %} 10 | 11 | {% endmacro %} 12 | --DATA-- 13 | return array() 14 | --EXPECT-- 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/FilterCallableInterface.php: -------------------------------------------------------------------------------- 1 | 18 | * @deprecated since 1.12 (to be removed in 2.0) 19 | */ 20 | interface Twig_FilterCallableInterface 21 | { 22 | public function getCallable(); 23 | } 24 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/filters/split.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "split" filter 3 | --TEMPLATE-- 4 | {{ "one,two,three,four,five"|split(',')|join('-') }} 5 | {{ foo|split(',')|join('-') }} 6 | {{ foo|split(',', 3)|join('-') }} 7 | {{ baz|split('')|join('-') }} 8 | {{ baz|split('', 1)|join('-') }} 9 | {{ baz|split('', 2)|join('-') }} 10 | {{ foo|split(',', -2)|join('-') }} 11 | --DATA-- 12 | return array('foo' => "one,two,three,four,five", 'baz' => '12345',) 13 | --EXPECT-- 14 | one-two-three-four-five 15 | one-two-three-four-five 16 | one-two-three,four,five 17 | 1-2-3-4-5 18 | 1-2-3-4-5 19 | 12-34-5 20 | one-two-three -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/functions/dump_array.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "dump" function, xdebug is not loaded or xdebug <2.2-dev is loaded 3 | --CONDITION-- 4 | !extension_loaded('xdebug') || (($r = new ReflectionExtension('xdebug')) && version_compare($r->getVersion(), '2.2-dev', '<')) 5 | --TEMPLATE-- 6 | {{ dump() }} 7 | --DATA-- 8 | return array('foo' => 'foo', 'bar' => 'bar') 9 | --CONFIG-- 10 | return array('debug' => true, 'autoescape' => false); 11 | --EXPECT-- 12 | array(3) { 13 | ["foo"]=> 14 | string(3) "foo" 15 | ["bar"]=> 16 | string(3) "bar" 17 | ["global"]=> 18 | string(6) "global" 19 | } 20 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/parent_isolation.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "extends" tag 3 | --TEMPLATE-- 4 | {% extends "base.twig" %} 5 | {% block content %}{% include "included.twig" %}{% endblock %} 6 | 7 | {% block footer %}Footer{% endblock %} 8 | --TEMPLATE(included.twig)-- 9 | {% extends "base.twig" %} 10 | {% block content %}Included Content{% endblock %} 11 | --TEMPLATE(base.twig)-- 12 | {% block content %}Default Content{% endblock %} 13 | 14 | {% block footer %}Default Footer{% endblock %} 15 | --DATA-- 16 | return array() 17 | --EXPECT-- 18 | Included Content 19 | Default Footer 20 | Footer 21 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/FunctionCallableInterface.php: -------------------------------------------------------------------------------- 1 | 18 | * @deprecated since 1.12 (to be removed in 2.0) 19 | */ 20 | interface Twig_FunctionCallableInterface 21 | { 22 | public function getCallable(); 23 | } 24 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/multiple_dynamic.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "extends" tag 3 | --TEMPLATE-- 4 | {% set foo = 1 %} 5 | {{ include('parent.twig') }} 6 | {{ include('parent.twig') }} 7 | {% set foo = 2 %} 8 | {{ include('parent.twig') }} 9 | --TEMPLATE(parent.twig)-- 10 | {% extends foo~'_parent.twig' %}{% block content %}{{ parent() }} parent{% endblock %} 11 | --TEMPLATE(1_parent.twig)-- 12 | {% block content %}1{% endblock %} 13 | --TEMPLATE(2_parent.twig)-- 14 | {% block content %}2{% endblock %} 15 | --DATA-- 16 | return array() 17 | --EXPECT-- 18 | 1 parent 19 | 20 | 1 parent 21 | 22 | 2 parent 23 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/magic_call.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Twig supports __call() for attributes 3 | --TEMPLATE-- 4 | {{ foo.foo }} 5 | {{ foo.bar }} 6 | --DATA-- 7 | class TestClassForMagicCallAttributes 8 | { 9 | public function getBar() 10 | { 11 | return 'bar_from_getbar'; 12 | } 13 | 14 | public function __call($method, $arguments) 15 | { 16 | if ('foo' === $method) 17 | { 18 | return 'foo_from_call'; 19 | } 20 | 21 | return false; 22 | } 23 | } 24 | return array('foo' => new TestClassForMagicCallAttributes()) 25 | --EXPECT-- 26 | foo_from_call 27 | bar_from_getbar 28 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/filters/split_utf8.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "split" filter 3 | --CONDITION-- 4 | function_exists('mb_get_info') 5 | --TEMPLATE-- 6 | {{ "é"|split('', 10)|join('-') }} 7 | {{ foo|split(',')|join('-') }} 8 | {{ foo|split(',', 1)|join('-') }} 9 | {{ foo|split(',', 2)|join('-') }} 10 | {{ foo|split(',', 3)|join('-') }} 11 | {{ baz|split('')|join('-') }} 12 | {{ baz|split('', 1)|join('-') }} 13 | {{ baz|split('', 2)|join('-') }} 14 | --DATA-- 15 | return array('foo' => 'Ä,é,Äほ', 'baz' => 'éÄßごa',) 16 | --EXPECT-- 17 | é 18 | Ä-é-Äほ 19 | Ä,é,Äほ 20 | Ä-é,Äほ 21 | Ä-é-Äほ 22 | é-Ä-ß-ご-a 23 | é-Ä-ß-ご-a 24 | éÄ-ßご-a -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/nested.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "autoescape" tags can be nested at will 3 | --TEMPLATE-- 4 | {{ var }} 5 | {% autoescape 'html' %} 6 | {{ var }} 7 | {% autoescape false %} 8 | {{ var }} 9 | {% autoescape 'html' %} 10 | {{ var }} 11 | {% endautoescape %} 12 | {{ var }} 13 | {% endautoescape %} 14 | {{ var }} 15 | {% endautoescape %} 16 | {{ var }} 17 | --DATA-- 18 | return array('var' => '
') 19 | --EXPECT-- 20 | <br /> 21 | <br /> 22 |
23 | <br /> 24 |
25 | <br /> 26 | <br /> 27 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/functions/source.rst: -------------------------------------------------------------------------------- 1 | ``source`` 2 | ========== 3 | 4 | .. versionadded:: 1.15 5 | The ``source`` function was added in Twig 1.15. 6 | 7 | The ``source`` function returns the content of a template without rendering it: 8 | 9 | .. code-block:: jinja 10 | 11 | {{ source('template.html') }} 12 | {{ source(some_var) }} 13 | 14 | The function uses the same template loaders as the ones used to include 15 | templates. So, if you are using the filesystem loader, the templates are looked 16 | for in the paths defined by it. 17 | 18 | Arguments 19 | --------- 20 | 21 | * ``name``: The name of the template to read 22 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/filters/date_interval.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "date" filter (interval support as of PHP 5.3) 3 | --CONDITION-- 4 | version_compare(phpversion(), '5.3.0', '>=') 5 | --TEMPLATE-- 6 | {{ date1|date }} 7 | {{ date1|date('%d days %h hours') }} 8 | {{ date1|date('%d days %h hours', timezone1) }} 9 | --DATA-- 10 | date_default_timezone_set('UTC'); 11 | return array( 12 | 'date1' => new DateInterval('P2D'), 13 | // This should have no effect on DateInterval formatting 14 | 'timezone1' => new DateTimeZone('America/New_York'), 15 | ) 16 | --EXPECT-- 17 | 2 days 18 | 2 days 0 hours 19 | 2 days 0 hours 20 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/functions/attribute.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "attribute" function 3 | --TEMPLATE-- 4 | {{ attribute(obj, method) }} 5 | {{ attribute(array, item) }} 6 | {{ attribute(obj, "bar", ["a", "b"]) }} 7 | {{ attribute(obj, "bar", arguments) }} 8 | {{ attribute(obj, method) is defined ? 'ok' : 'ko' }} 9 | {{ attribute(obj, nonmethod) is defined ? 'ok' : 'ko' }} 10 | --DATA-- 11 | return array('obj' => new TwigTestFoo(), 'method' => 'foo', 'array' => array('foo' => 'bar'), 'item' => 'foo', 'nonmethod' => 'xxx', 'arguments' => array('a', 'b')) 12 | --EXPECT-- 13 | foo 14 | bar 15 | bar_a-b 16 | bar_a-b 17 | ok 18 | ko 19 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/objects.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "autoescape" tag applies escaping to object method calls 3 | --TEMPLATE-- 4 | {% autoescape 'html' %} 5 | {{ user.name }} 6 | {{ user.name|lower }} 7 | {{ user }} 8 | {% endautoescape %} 9 | --DATA-- 10 | class UserForAutoEscapeTest 11 | { 12 | public function getName() 13 | { 14 | return 'Fabien
'; 15 | } 16 | 17 | public function __toString() 18 | { 19 | return 'Fabien
'; 20 | } 21 | } 22 | return array('user' => new UserForAutoEscapeTest()) 23 | --EXPECT-- 24 | Fabien<br /> 25 | fabien<br /> 26 | Fabien<br /> 27 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/external.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "macro" tag 3 | --TEMPLATE-- 4 | {% import 'forms.twig' as forms %} 5 | 6 | {{ forms.input('username') }} 7 | {{ forms.input('password', null, 'password', 1) }} 8 | --TEMPLATE(forms.twig)-- 9 | {% macro input(name, value, type, size) %} 10 | 11 | {% endmacro %} 12 | --DATA-- 13 | return array() 14 | --EXPECT-- 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/filters/last.rst: -------------------------------------------------------------------------------- 1 | ``last`` 2 | ======== 3 | 4 | .. versionadded:: 1.12.2 5 | The ``last`` filter was added in Twig 1.12.2. 6 | 7 | The ``last`` filter returns the last "element" of a sequence, a mapping, or 8 | a string: 9 | 10 | .. code-block:: jinja 11 | 12 | {{ [1, 2, 3, 4]|last }} 13 | {# outputs 4 #} 14 | 15 | {{ { a: 1, b: 2, c: 3, d: 4 }|last }} 16 | {# outputs 4 #} 17 | 18 | {{ '1234'|last }} 19 | {# outputs 4 #} 20 | 21 | .. note:: 22 | 23 | It also works with objects implementing the `Traversable`_ interface. 24 | 25 | .. _`Traversable`: http://php.net/manual/en/class.traversable.php 26 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/TestInterface.php: -------------------------------------------------------------------------------- 1 | 16 | * @deprecated since 1.12 (to be removed in 2.0) 17 | */ 18 | interface Twig_TestInterface 19 | { 20 | /** 21 | * Compiles a test. 22 | * 23 | * @return string The PHP code for the test 24 | */ 25 | public function compile(); 26 | } 27 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/filters/urlencode.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "url_encode" filter 3 | --CONDITION-- 4 | defined('PHP_QUERY_RFC3986') 5 | --TEMPLATE-- 6 | {{ {foo: "bar", number: 3, "spéßi%l": "e%c0d@d", "spa ce": ""}|url_encode }} 7 | {{ {foo: "bar", number: 3, "spéßi%l": "e%c0d@d", "spa ce": ""}|url_encode|raw }} 8 | {{ {}|url_encode|default("default") }} 9 | {{ 'spéßi%le%c0d@dspa ce'|url_encode }} 10 | --DATA-- 11 | return array() 12 | --EXPECT-- 13 | foo=bar&number=3&sp%C3%A9%C3%9Fi%25l=e%25c0d%40d&spa%20ce= 14 | foo=bar&number=3&sp%C3%A9%C3%9Fi%25l=e%25c0d%40d&spa%20ce= 15 | default 16 | sp%C3%A9%C3%9Fi%25le%25c0d%40dspa%20ce 17 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/regression/issue_1143.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | error in twig extension 3 | --TEMPLATE-- 4 | {{ object.region is not null ? object.regionChoices[object.region] }} 5 | --DATA-- 6 | class House 7 | { 8 | const REGION_S = 1; 9 | const REGION_P = 2; 10 | 11 | public static $regionChoices = array(self::REGION_S => 'house.region.s', self::REGION_P => 'house.region.p'); 12 | 13 | public function getRegionChoices() 14 | { 15 | return self::$regionChoices; 16 | } 17 | } 18 | 19 | $object = new House(); 20 | $object->region = 1; 21 | return array('object' => $object) 22 | --EXPECT-- 23 | house.region.s 24 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/with_filters_arguments.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "autoescape" tag do not applies escaping on filter arguments 3 | --TEMPLATE-- 4 | {% autoescape 'html' %} 5 | {{ var|nl2br("
") }} 6 | {{ var|nl2br("
"|escape) }} 7 | {{ var|nl2br(sep) }} 8 | {{ var|nl2br(sep|raw) }} 9 | {{ var|nl2br(sep|escape) }} 10 | {% endautoescape %} 11 | --DATA-- 12 | return array('var' => "\nTwig", 'sep' => '
') 13 | --EXPECT-- 14 | <Fabien>
15 | Twig 16 | <Fabien><br /> 17 | Twig 18 | <Fabien>
19 | Twig 20 | <Fabien>
21 | Twig 22 | <Fabien><br /> 23 | Twig 24 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/filters/first.rst: -------------------------------------------------------------------------------- 1 | ``first`` 2 | ========= 3 | 4 | .. versionadded:: 1.12.2 5 | The ``first`` filter was added in Twig 1.12.2. 6 | 7 | The ``first`` filter returns the first "element" of a sequence, a mapping, or 8 | a string: 9 | 10 | .. code-block:: jinja 11 | 12 | {{ [1, 2, 3, 4]|first }} 13 | {# outputs 1 #} 14 | 15 | {{ { a: 1, b: 2, c: 3, d: 4 }|first }} 16 | {# outputs 1 #} 17 | 18 | {{ '1234'|first }} 19 | {# outputs 1 #} 20 | 21 | .. note:: 22 | 23 | It also works with objects implementing the `Traversable`_ interface. 24 | 25 | .. _`Traversable`: http://php.net/manual/en/class.traversable.php 26 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/method_call.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Twig supports method calls 3 | --TEMPLATE-- 4 | {{ items.foo.foo }} 5 | {{ items.foo.getFoo() }} 6 | {{ items.foo.bar }} 7 | {{ items.foo['bar'] }} 8 | {{ items.foo.bar('a', 43) }} 9 | {{ items.foo.bar(foo) }} 10 | {{ items.foo.self.foo() }} 11 | {{ items.foo.is }} 12 | {{ items.foo.in }} 13 | {{ items.foo.not }} 14 | --DATA-- 15 | return array('foo' => 'bar', 'items' => array('foo' => new TwigTestFoo(), 'bar' => 'foo')) 16 | --CONFIG-- 17 | return array('strict_variables' => false) 18 | --EXPECT-- 19 | foo 20 | foo 21 | bar 22 | 23 | bar_a-43 24 | bar_bar 25 | foo 26 | is 27 | in 28 | not 29 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/basic.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "autoescape" tag applies escaping on its children 3 | --TEMPLATE-- 4 | {% autoescape %} 5 | {{ var }}
6 | {% endautoescape %} 7 | {% autoescape 'html' %} 8 | {{ var }}
9 | {% endautoescape %} 10 | {% autoescape false %} 11 | {{ var }}
12 | {% endautoescape %} 13 | {% autoescape true %} 14 | {{ var }}
15 | {% endautoescape %} 16 | {% autoescape false %} 17 | {{ var }}
18 | {% endautoescape %} 19 | --DATA-- 20 | return array('var' => '
') 21 | --EXPECT-- 22 | <br />
23 | <br />
24 |

25 | <br />
26 |

27 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/filters/trim.rst: -------------------------------------------------------------------------------- 1 | ``trim`` 2 | ======== 3 | 4 | .. versionadded:: 1.6.2 5 | The ``trim`` filter was added in Twig 1.6.2. 6 | 7 | The ``trim`` filter strips whitespace (or other characters) from the beginning 8 | and end of a string: 9 | 10 | .. code-block:: jinja 11 | 12 | {{ ' I like Twig. '|trim }} 13 | 14 | {# outputs 'I like Twig.' #} 15 | 16 | {{ ' I like Twig.'|trim('.') }} 17 | 18 | {# outputs ' I like Twig' #} 19 | 20 | .. note:: 21 | 22 | Internally, Twig uses the PHP `trim`_ function. 23 | 24 | Arguments 25 | --------- 26 | 27 | * ``character_mask``: The characters to strip 28 | 29 | .. _`trim`: http://php.net/trim 30 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/functions/parent.rst: -------------------------------------------------------------------------------- 1 | ``parent`` 2 | ========== 3 | 4 | When a template uses inheritance, it's possible to render the contents of the 5 | parent block when overriding a block by using the ``parent`` function: 6 | 7 | .. code-block:: jinja 8 | 9 | {% extends "base.html" %} 10 | 11 | {% block sidebar %} 12 |

Table Of Contents

13 | ... 14 | {{ parent() }} 15 | {% endblock %} 16 | 17 | The ``parent()`` call will return the content of the ``sidebar`` block as 18 | defined in the ``base.html`` template. 19 | 20 | .. seealso:: :doc:`extends<../tags/extends>`, :doc:`block<../functions/block>`, :doc:`block<../tags/block>` 21 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/dotdot.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Twig supports the .. operator 3 | --TEMPLATE-- 4 | {% for i in 0..10 %}{{ i }} {% endfor %} 5 | 6 | {% for letter in 'a'..'z' %}{{ letter }} {% endfor %} 7 | 8 | {% for letter in 'a'|upper..'z'|upper %}{{ letter }} {% endfor %} 9 | 10 | {% for i in foo[0]..foo[1] %}{{ i }} {% endfor %} 11 | 12 | {% for i in 0 + 1 .. 10 - 1 %}{{ i }} {% endfor %} 13 | --DATA-- 14 | return array('foo' => array(1, 10)) 15 | --EXPECT-- 16 | 0 1 2 3 4 5 6 7 8 9 10 17 | a b c d e f g h i j k l m n o p q r s t u v w x y z 18 | A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 19 | 1 2 3 4 5 6 7 8 9 10 20 | 1 2 3 4 5 6 7 8 9 21 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/filters/urlencode_deprecated.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "url_encode" filter for PHP < 5.4 and HHVM 3 | --CONDITION-- 4 | defined('PHP_QUERY_RFC3986') 5 | --TEMPLATE-- 6 | {{ {foo: "bar", number: 3, "spéßi%l": "e%c0d@d", "spa ce": ""}|url_encode }} 7 | {{ {foo: "bar", number: 3, "spéßi%l": "e%c0d@d", "spa ce": ""}|url_encode|raw }} 8 | {{ {}|url_encode|default("default") }} 9 | {{ 'spéßi%le%c0d@dspa ce'|url_encode }} 10 | --DATA-- 11 | return array() 12 | --EXPECT-- 13 | foo=bar&number=3&sp%C3%A9%C3%9Fi%25l=e%25c0d%40d&spa%20ce= 14 | foo=bar&number=3&sp%C3%A9%C3%9Fi%25l=e%25c0d%40d&spa%20ce= 15 | default 16 | sp%C3%A9%C3%9Fi%25le%25c0d%40dspa%20ce 17 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/regression/simple_xml_element.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Twig is able to deal with SimpleXMLElement instances as variables 3 | --CONDITION-- 4 | version_compare(phpversion(), '5.3.0', '>=') 5 | --TEMPLATE-- 6 | Hello '{{ images.image.0.group }}'! 7 | {{ images.image.0.group.attributes.myattr }} 8 | {{ images.children().image.count() }} 9 | {% for image in images %} 10 | - {{ image.group }} 11 | {% endfor %} 12 | --DATA-- 13 | return array('images' => new SimpleXMLElement('foobar')) 14 | --EXPECT-- 15 | Hello 'foo'! 16 | example 17 | 2 18 | - foo 19 | - bar 20 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/parent_block2.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "use" tag 3 | --TEMPLATE-- 4 | {% use 'file2.html.twig'%} 5 | {% block foobar %} 6 | {{- parent() -}} 7 | Content of block (second override) 8 | {% endblock foobar %} 9 | --TEMPLATE(file2.html.twig)-- 10 | {% use 'file1.html.twig' %} 11 | {% block foobar %} 12 | {{- parent() -}} 13 | Content of block (first override) 14 | {% endblock foobar %} 15 | --TEMPLATE(file1.html.twig)-- 16 | {% block foobar -%} 17 | Content of block 18 | {% endblock foobar %} 19 | --DATA-- 20 | return array() 21 | --EXPECT-- 22 | Content of block 23 | Content of block (first override) 24 | Content of block (second override) 25 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Node/Expression/Constant.php: -------------------------------------------------------------------------------- 1 | $value), $lineno); 17 | } 18 | 19 | public function compile(Twig_Compiler $compiler) 20 | { 21 | $compiler->repr($this->getAttribute('value')); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/functions/cycle.rst: -------------------------------------------------------------------------------- 1 | ``cycle`` 2 | ========= 3 | 4 | The ``cycle`` function cycles on an array of values: 5 | 6 | .. code-block:: jinja 7 | 8 | {% set start_year = date() | date('Y') %} 9 | {% set end_year = start_year + 5 %} 10 | 11 | {% for year in start_year..end_year %} 12 | {{ cycle(['odd', 'even'], loop.index0) }} 13 | {% endfor %} 14 | 15 | The array can contain any number of values: 16 | 17 | .. code-block:: jinja 18 | 19 | {% set fruits = ['apple', 'orange', 'citrus'] %} 20 | 21 | {% for i in 0..10 %} 22 | {{ cycle(fruits, i) }} 23 | {% endfor %} 24 | 25 | Arguments 26 | --------- 27 | 28 | * ``position``: The cycle position 29 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Sandbox/SecurityPolicyInterface.php: -------------------------------------------------------------------------------- 1 | 16 | */ 17 | interface Twig_Sandbox_SecurityPolicyInterface 18 | { 19 | public function checkSecurity($tags, $filters, $functions); 20 | 21 | public function checkMethodAllowed($obj, $method); 22 | 23 | public function checkPropertyAllowed($obj, $method); 24 | } 25 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/ends_with.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Twig supports the "ends with" operator 3 | --TEMPLATE-- 4 | {{ 'foo' ends with 'o' ? 'OK' : 'KO' }} 5 | {{ not ('foo' ends with 'f') ? 'OK' : 'KO' }} 6 | {{ not ('foo' ends with 'foowaytoolong') ? 'OK' : 'KO' }} 7 | {{ 'foo' ends with '' ? 'OK' : 'KO' }} 8 | {{ '1' ends with true ? 'OK' : 'KO' }} 9 | {{ 1 ends with true ? 'OK' : 'KO' }} 10 | {{ 0 ends with false ? 'OK' : 'KO' }} 11 | {{ '' ends with false ? 'OK' : 'KO' }} 12 | {{ false ends with false ? 'OK' : 'KO' }} 13 | {{ false ends with '' ? 'OK' : 'KO' }} 14 | --DATA-- 15 | return array() 16 | --EXPECT-- 17 | OK 18 | OK 19 | OK 20 | OK 21 | KO 22 | KO 23 | KO 24 | KO 25 | KO 26 | KO 27 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/tags/verbatim.rst: -------------------------------------------------------------------------------- 1 | ``verbatim`` 2 | ============ 3 | 4 | .. versionadded:: 1.12 5 | The ``verbatim`` tag was added in Twig 1.12 (it was named ``raw`` before). 6 | 7 | The ``verbatim`` tag marks sections as being raw text that should not be 8 | parsed. For example to put Twig syntax as example into a template you can use 9 | this snippet: 10 | 11 | .. code-block:: jinja 12 | 13 | {% verbatim %} 14 |
    15 | {% for item in seq %} 16 |
  • {{ item }}
  • 17 | {% endfor %} 18 |
19 | {% endverbatim %} 20 | 21 | .. note:: 22 | 23 | The ``verbatim`` tag works in the exact same way as the old ``raw`` tag, 24 | but was renamed to avoid confusion with the ``raw`` filter. -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/AutoloaderTest.php: -------------------------------------------------------------------------------- 1 | assertFalse(class_exists('FooBarFoo'), '->autoload() does not try to load classes that does not begin with Twig'); 17 | 18 | $autoloader = new Twig_Autoloader(); 19 | $this->assertNull($autoloader->autoload('Foo'), '->autoload() returns false if it is not able to load a class'); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/tests/constant.rst: -------------------------------------------------------------------------------- 1 | ``constant`` 2 | ============ 3 | 4 | .. versionadded: 1.13.1 5 | constant now accepts object instances as the second argument. 6 | 7 | ``constant`` checks if a variable has the exact same value as a constant. You 8 | can use either global constants or class constants: 9 | 10 | .. code-block:: jinja 11 | 12 | {% if post.status is constant('Post::PUBLISHED') %} 13 | the status attribute is exactly the same as Post::PUBLISHED 14 | {% endif %} 15 | 16 | You can test constants from object instances as well: 17 | 18 | .. code-block:: jinja 19 | 20 | {% if post.status is constant('PUBLISHED', post) %} 21 | the status attribute is exactly the same as Post::PUBLISHED 22 | {% endif %} 23 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Node/Expression/TempName.php: -------------------------------------------------------------------------------- 1 | $name), $lineno); 16 | } 17 | 18 | public function compile(Twig_Compiler $compiler) 19 | { 20 | $compiler 21 | ->raw('$_') 22 | ->raw($this->getAttribute('name')) 23 | ->raw('_') 24 | ; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/starts_with.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Twig supports the "starts with" operator 3 | --TEMPLATE-- 4 | {{ 'foo' starts with 'f' ? 'OK' : 'KO' }} 5 | {{ not ('foo' starts with 'oo') ? 'OK' : 'KO' }} 6 | {{ not ('foo' starts with 'foowaytoolong') ? 'OK' : 'KO' }} 7 | {{ 'foo' starts with 'f' ? 'OK' : 'KO' }} 8 | {{ 'foo' starts 9 | with 'f' ? 'OK' : 'KO' }} 10 | {{ 'foo' starts with '' ? 'OK' : 'KO' }} 11 | {{ '1' starts with true ? 'OK' : 'KO' }} 12 | {{ '' starts with false ? 'OK' : 'KO' }} 13 | {{ 'a' starts with false ? 'OK' : 'KO' }} 14 | {{ false starts with '' ? 'OK' : 'KO' }} 15 | --DATA-- 16 | return array() 17 | --EXPECT-- 18 | OK 19 | OK 20 | OK 21 | OK 22 | OK 23 | OK 24 | KO 25 | KO 26 | KO 27 | KO 28 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/filters/date_modify.rst: -------------------------------------------------------------------------------- 1 | ``date_modify`` 2 | =============== 3 | 4 | .. versionadded:: 1.9.0 5 | The date_modify filter has been added in Twig 1.9.0. 6 | 7 | The ``date_modify`` filter modifies a date with a given modifier string: 8 | 9 | .. code-block:: jinja 10 | 11 | {{ post.published_at|date_modify("+1 day")|date("m/d/Y") }} 12 | 13 | The ``date_modify`` filter accepts strings (it must be in a format supported 14 | by the `strtotime`_ function) or `DateTime`_ instances. You can easily combine 15 | it with the :doc:`date` filter for formatting. 16 | 17 | Arguments 18 | --------- 19 | 20 | * ``modifier``: The modifier 21 | 22 | .. _`strtotime`: http://www.php.net/strtotime 23 | .. _`DateTime`: http://www.php.net/DateTime 24 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/binary.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Twig supports binary operations (+, -, *, /, ~, %, and, or) 3 | --TEMPLATE-- 4 | {{ 1 + 1 }} 5 | {{ 2 - 1 }} 6 | {{ 2 * 2 }} 7 | {{ 2 / 2 }} 8 | {{ 3 % 2 }} 9 | {{ 1 and 1 }} 10 | {{ 1 and 0 }} 11 | {{ 0 and 1 }} 12 | {{ 0 and 0 }} 13 | {{ 1 or 1 }} 14 | {{ 1 or 0 }} 15 | {{ 0 or 1 }} 16 | {{ 0 or 0 }} 17 | {{ 0 or 1 and 0 }} 18 | {{ 1 or 0 and 1 }} 19 | {{ "foo" ~ "bar" }} 20 | {{ foo ~ "bar" }} 21 | {{ "foo" ~ bar }} 22 | {{ foo ~ bar }} 23 | {{ 20 // 7 }} 24 | --DATA-- 25 | return array('foo' => 'bar', 'bar' => 'foo') 26 | --EXPECT-- 27 | 2 28 | 1 29 | 4 30 | 1 31 | 1 32 | 1 33 | 34 | 35 | 36 | 1 37 | 1 38 | 1 39 | 40 | 41 | 1 42 | foobar 43 | barbar 44 | foofoo 45 | barfoo 46 | 2 47 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/inheritance2.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "use" tag 3 | --TEMPLATE-- 4 | {% use "ancestor.twig" %} 5 | {% use "parent.twig" %} 6 | 7 | {{ block('container') }} 8 | --TEMPLATE(parent.twig)-- 9 | {% block sub_container %} 10 |
overriden sub_container
11 | {% endblock %} 12 | --TEMPLATE(ancestor.twig)-- 13 | {% block container %} 14 |
{{ block('sub_container') }}
15 | {% endblock %} 16 | 17 | {% block sub_container %} 18 |
sub_container
19 | {% endblock %} 20 | --DATA-- 21 | return array() 22 | --EXPECT-- 23 |
overriden sub_container
24 |
25 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/inheritance.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "use" tag 3 | --TEMPLATE-- 4 | {% use "parent.twig" %} 5 | 6 | {{ block('container') }} 7 | --TEMPLATE(parent.twig)-- 8 | {% use "ancestor.twig" %} 9 | 10 | {% block sub_container %} 11 |
overriden sub_container
12 | {% endblock %} 13 | --TEMPLATE(ancestor.twig)-- 14 | {% block container %} 15 |
{{ block('sub_container') }}
16 | {% endblock %} 17 | 18 | {% block sub_container %} 19 |
sub_container
20 | {% endblock %} 21 | --DATA-- 22 | return array() 23 | --EXPECT-- 24 |
overriden sub_container
25 |
26 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/unary_macro_arguments.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Twig manages negative numbers as default parameters 3 | --TEMPLATE-- 4 | {% import _self as macros %} 5 | {{ macros.negative_number1() }} 6 | {{ macros.negative_number2() }} 7 | {{ macros.negative_number3() }} 8 | {{ macros.positive_number1() }} 9 | {{ macros.positive_number2() }} 10 | {% macro negative_number1(nb=-1) %}{{ nb }}{% endmacro %} 11 | {% macro negative_number2(nb = --1) %}{{ nb }}{% endmacro %} 12 | {% macro negative_number3(nb = - 1) %}{{ nb }}{% endmacro %} 13 | {% macro positive_number1(nb = +1) %}{{ nb }}{% endmacro %} 14 | {% macro positive_number2(nb = ++1) %}{{ nb }}{% endmacro %} 15 | --DATA-- 16 | return array() 17 | --EXPECT-- 18 | -1 19 | 1 20 | -1 21 | 1 22 | 1 23 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Node/TextTest.php: -------------------------------------------------------------------------------- 1 | assertEquals('foo', $node->getAttribute('data')); 19 | } 20 | 21 | public function getTests() 22 | { 23 | $tests = array(); 24 | $tests[] = array(new Twig_Node_Text('foo', 1), "// line 1\necho \"foo\";"); 25 | 26 | return $tests; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/raw/whitespace_control.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "raw" tag 3 | --TEMPLATE-- 4 | 1*** 5 | 6 | {%- raw %} 7 | {{ 'bla' }} 8 | {% endraw %} 9 | 10 | 1*** 11 | 2*** 12 | 13 | {%- raw -%} 14 | {{ 'bla' }} 15 | {% endraw %} 16 | 17 | 2*** 18 | 3*** 19 | 20 | {%- raw -%} 21 | {{ 'bla' }} 22 | {% endraw -%} 23 | 24 | 3*** 25 | 4*** 26 | 27 | {%- raw -%} 28 | {{ 'bla' }} 29 | {%- endraw %} 30 | 31 | 4*** 32 | 5*** 33 | 34 | {%- raw -%} 35 | {{ 'bla' }} 36 | {%- endraw -%} 37 | 38 | 5*** 39 | --DATA-- 40 | return array() 41 | --EXPECT-- 42 | 1*** 43 | {{ 'bla' }} 44 | 45 | 46 | 1*** 47 | 2***{{ 'bla' }} 48 | 49 | 50 | 2*** 51 | 3***{{ 'bla' }} 52 | 3*** 53 | 4***{{ 'bla' }} 54 | 55 | 4*** 56 | 5***{{ 'bla' }}5*** 57 | -------------------------------------------------------------------------------- /vendor/twig/twig/phpunit.xml.dist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 14 | 15 | 16 | ./test/Twig/ 17 | 18 | 19 | 20 | 21 | 22 | ./lib/Twig/ 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/parent_block.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "use" tag 3 | --TEMPLATE-- 4 | {% use 'file2.html.twig' with foobar as base_base_foobar %} 5 | {% block foobar %} 6 | {{- block('base_base_foobar') -}} 7 | Content of block (second override) 8 | {% endblock foobar %} 9 | --TEMPLATE(file2.html.twig)-- 10 | {% use 'file1.html.twig' with foobar as base_foobar %} 11 | {% block foobar %} 12 | {{- block('base_foobar') -}} 13 | Content of block (first override) 14 | {% endblock foobar %} 15 | --TEMPLATE(file1.html.twig)-- 16 | {% block foobar -%} 17 | Content of block 18 | {% endblock foobar %} 19 | --DATA-- 20 | return array() 21 | --EXPECT-- 22 | Content of block 23 | Content of block (first override) 24 | Content of block (second override) 25 | -------------------------------------------------------------------------------- /vendor/twig/twig/.travis.yml: -------------------------------------------------------------------------------- 1 | language: php 2 | 3 | php: 4 | - 5.2 5 | - 5.3 6 | - 5.4 7 | - 5.5 8 | - 5.6 9 | - hhvm 10 | - nightly 11 | - hhvm-nightly 12 | 13 | allow_failures: 14 | - php: nightly 15 | - php: hhvm-nightly 16 | 17 | env: 18 | - TWIG_EXT=no 19 | - TWIG_EXT=yes 20 | 21 | before_script: 22 | - if [ "$TWIG_EXT" == "yes" ]; then sh -c "cd ext/twig && phpize && ./configure --enable-twig && make && sudo make install"; fi 23 | - if [ "$TWIG_EXT" == "yes" ]; then echo "extension=twig.so" >> `php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"`; fi 24 | 25 | matrix: 26 | exclude: 27 | - php: hhvm 28 | env: TWIG_EXT=yes 29 | - php: hhvm-nightly 30 | env: TWIG_EXT=yes 31 | - php: nightly 32 | env: TWIG_EXT=yes 33 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Node/Expression/AssignName.php: -------------------------------------------------------------------------------- 1 | raw('$context[') 24 | ->string($this->getAttribute('name')) 25 | ->raw(']') 26 | ; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Node/Expression/Test/Null.php: -------------------------------------------------------------------------------- 1 | 16 | * {{ var is none }} 17 | * 18 | * 19 | * @author Fabien Potencier 20 | */ 21 | class Twig_Node_Expression_Test_Null extends Twig_Node_Expression_Test 22 | { 23 | public function compile(Twig_Compiler $compiler) 24 | { 25 | $compiler 26 | ->raw('(null === ') 27 | ->subcompile($this->getNode('node')) 28 | ->raw(')') 29 | ; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/filters/batch_with_empty_fill.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "batch" filter 3 | --TEMPLATE-- 4 | 5 | {% for row in items|batch(3, '') %} 6 | 7 | {% for column in row %} 8 | 9 | {% endfor %} 10 | 11 | {% endfor %} 12 |
{{ column }}
13 | --DATA-- 14 | return array('items' => array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j')) 15 | --EXPECT-- 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 |
abc
def
ghi
j
38 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/filters/batch_with_fill.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "batch" filter 3 | --TEMPLATE-- 4 | 5 | {% for row in items|batch(3, 'fill') %} 6 | 7 | {% for column in row %} 8 | 9 | {% endfor %} 10 | 11 | {% endfor %} 12 |
{{ column }}
13 | --DATA-- 14 | return array('items' => array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j')) 15 | --EXPECT-- 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 |
abc
def
ghi
jfillfill
38 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Node/Expression/Test/Odd.php: -------------------------------------------------------------------------------- 1 | 16 | * {{ var is odd }} 17 | * 18 | * 19 | * @author Fabien Potencier 20 | */ 21 | class Twig_Node_Expression_Test_Odd extends Twig_Node_Expression_Test 22 | { 23 | public function compile(Twig_Compiler $compiler) 24 | { 25 | $compiler 26 | ->raw('(') 27 | ->subcompile($this->getNode('node')) 28 | ->raw(' % 2 == 1') 29 | ->raw(')') 30 | ; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Node/Expression/Test/Even.php: -------------------------------------------------------------------------------- 1 | 16 | * {{ var is even }} 17 | * 18 | * 19 | * @author Fabien Potencier 20 | */ 21 | class Twig_Node_Expression_Test_Even extends Twig_Node_Expression_Test 22 | { 23 | public function compile(Twig_Compiler $compiler) 24 | { 25 | $compiler 26 | ->raw('(') 27 | ->subcompile($this->getNode('node')) 28 | ->raw(' % 2 == 0') 29 | ->raw(')') 30 | ; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /core/functions.php: -------------------------------------------------------------------------------- 1 | ".var_dump(strpos($subdir, 'empty') == false).""; 13 | } 14 | 15 | return $names; 16 | } 17 | 18 | function addPages(){ 19 | $dir = 'app'; 20 | $pages = getPagesNames(); 21 | 22 | foreach ($pages as $page) { 23 | include($dir . '/' . $page . '/' . $page . '.php'); 24 | } 25 | } 26 | 27 | function numPages(){ 28 | $dir = 'app'; 29 | $pages = getPagesNames(); 30 | 31 | #TODO: validaciones 32 | 33 | return count($pages); 34 | } 35 | 36 | ?> -------------------------------------------------------------------------------- /vendor/twig/twig/doc/functions/attribute.rst: -------------------------------------------------------------------------------- 1 | ``attribute`` 2 | ============= 3 | 4 | .. versionadded:: 1.2 5 | The ``attribute`` function was added in Twig 1.2. 6 | 7 | The ``attribute`` function can be used to access a "dynamic" attribute of a 8 | variable: 9 | 10 | .. code-block:: jinja 11 | 12 | {{ attribute(object, method) }} 13 | {{ attribute(object, method, arguments) }} 14 | {{ attribute(array, item) }} 15 | 16 | In addition, the ``defined`` test can check for the existence of a dynamic 17 | attribute: 18 | 19 | .. code-block:: jinja 20 | 21 | {{ attribute(object, method) is defined ? 'Method exists' : 'Method does not exist' }} 22 | 23 | .. note:: 24 | 25 | The resolution algorithm is the same as the one used for the ``.`` 26 | notation, except that the item can be any valid expression. 27 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/block_expr.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | block_expr 3 | --TEMPLATE-- 4 | {% extends "base.twig" %} 5 | 6 | {% block element -%} 7 | Element: 8 | {{- parent() -}} 9 | {% endblock %} 10 | --TEMPLATE(base.twig)-- 11 | {% spaceless %} 12 | {% block element -%} 13 |
14 | {%- if item.children is defined %} 15 | {%- for item in item.children %} 16 | {{- block('element') -}} 17 | {% endfor %} 18 | {%- endif -%} 19 |
20 | {%- endblock %} 21 | {% endspaceless %} 22 | --DATA-- 23 | return array( 24 | 'item' => array( 25 | 'children' => array( 26 | null, 27 | null, 28 | ) 29 | ) 30 | ) 31 | --EXPECT-- 32 | Element:
Element:
Element:
33 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Node/Expression/Binary/Matches.php: -------------------------------------------------------------------------------- 1 | raw('preg_match(') 17 | ->subcompile($this->getNode('right')) 18 | ->raw(', ') 19 | ->subcompile($this->getNode('left')) 20 | ->raw(')') 21 | ; 22 | } 23 | 24 | public function operator(Twig_Compiler $compiler) 25 | { 26 | return $compiler->raw(''); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/NodeInterface.php: -------------------------------------------------------------------------------- 1 | 16 | * 17 | * @deprecated since 1.12 (to be removed in 3.0) 18 | */ 19 | interface Twig_NodeInterface extends Countable, IteratorAggregate 20 | { 21 | /** 22 | * Compiles the node to PHP. 23 | * 24 | * @param Twig_Compiler $compiler A Twig_Compiler instance 25 | */ 26 | public function compile(Twig_Compiler $compiler); 27 | 28 | public function getLine(); 29 | 30 | public function getNodeTag(); 31 | } 32 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/embed/nested.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "embed" tag 3 | --TEMPLATE-- 4 | {% embed "foo.twig" %} 5 | {% block c1 %} 6 | {{ parent() }} 7 | {% embed "foo.twig" %} 8 | {% block c1 %} 9 | {{ parent() }} 10 | block1extended 11 | {% endblock %} 12 | {% endembed %} 13 | 14 | {% endblock %} 15 | {% endembed %} 16 | --TEMPLATE(foo.twig)-- 17 | A 18 | {% block c1 %} 19 | block1 20 | {% endblock %} 21 | B 22 | {% block c2 %} 23 | block2 24 | {% endblock %} 25 | C 26 | --DATA-- 27 | return array() 28 | --EXPECT-- 29 | A 30 | block1 31 | 32 | 33 | A 34 | block1 35 | 36 | block1extended 37 | B 38 | block2 39 | C 40 | B 41 | block2 42 | C 43 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Node/Expression/AssignNameTest.php: -------------------------------------------------------------------------------- 1 | assertEquals('foo', $node->getAttribute('name')); 19 | } 20 | 21 | public function getTests() 22 | { 23 | $node = new Twig_Node_Expression_AssignName('foo', 1); 24 | 25 | return array( 26 | array($node, '$context["foo"]'), 27 | ); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/verbatim/whitespace_control.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "verbatim" tag 3 | --TEMPLATE-- 4 | 1*** 5 | 6 | {%- verbatim %} 7 | {{ 'bla' }} 8 | {% endverbatim %} 9 | 10 | 1*** 11 | 2*** 12 | 13 | {%- verbatim -%} 14 | {{ 'bla' }} 15 | {% endverbatim %} 16 | 17 | 2*** 18 | 3*** 19 | 20 | {%- verbatim -%} 21 | {{ 'bla' }} 22 | {% endverbatim -%} 23 | 24 | 3*** 25 | 4*** 26 | 27 | {%- verbatim -%} 28 | {{ 'bla' }} 29 | {%- endverbatim %} 30 | 31 | 4*** 32 | 5*** 33 | 34 | {%- verbatim -%} 35 | {{ 'bla' }} 36 | {%- endverbatim -%} 37 | 38 | 5*** 39 | --DATA-- 40 | return array() 41 | --EXPECT-- 42 | 1*** 43 | {{ 'bla' }} 44 | 45 | 46 | 1*** 47 | 2***{{ 'bla' }} 48 | 49 | 50 | 2*** 51 | 3***{{ 'bla' }} 52 | 3*** 53 | 4***{{ 'bla' }} 54 | 55 | 4*** 56 | 5***{{ 'bla' }}5*** 57 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/TokenParser.php: -------------------------------------------------------------------------------- 1 | 16 | */ 17 | abstract class Twig_TokenParser implements Twig_TokenParserInterface 18 | { 19 | /** 20 | * @var Twig_Parser 21 | */ 22 | protected $parser; 23 | 24 | /** 25 | * Sets the parser associated with this token parser 26 | * 27 | * @param $parser A Twig_Parser instance 28 | */ 29 | public function setParser(Twig_Parser $parser) 30 | { 31 | $this->parser = $parser; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Node/Expression/ConstantTest.php: -------------------------------------------------------------------------------- 1 | assertEquals('foo', $node->getAttribute('value')); 19 | } 20 | 21 | public function getTests() 22 | { 23 | $tests = array(); 24 | 25 | $node = new Twig_Node_Expression_Constant('foo', 1); 26 | $tests[] = array($node, '"foo"'); 27 | 28 | return $tests; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Node/Expression/ParentTest.php: -------------------------------------------------------------------------------- 1 | assertEquals('foo', $node->getAttribute('name')); 19 | } 20 | 21 | public function getTests() 22 | { 23 | $tests = array(); 24 | $tests[] = array(new Twig_Node_Expression_Parent('foo', 1), '$this->renderParentBlock("foo", $context, $blocks)'); 25 | 26 | return $tests; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Profiler/Dumper/TextTest.php: -------------------------------------------------------------------------------- 1 | assertStringMatchesFormat(<<dump($this->getProfile())); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/tests/defined.rst: -------------------------------------------------------------------------------- 1 | ``defined`` 2 | =========== 3 | 4 | ``defined`` checks if a variable is defined in the current context. This is very 5 | useful if you use the ``strict_variables`` option: 6 | 7 | .. code-block:: jinja 8 | 9 | {# defined works with variable names #} 10 | {% if foo is defined %} 11 | ... 12 | {% endif %} 13 | 14 | {# and attributes on variables names #} 15 | {% if foo.bar is defined %} 16 | ... 17 | {% endif %} 18 | 19 | {% if foo['bar'] is defined %} 20 | ... 21 | {% endif %} 22 | 23 | When using the ``defined`` test on an expression that uses variables in some 24 | method calls, be sure that they are all defined first: 25 | 26 | .. code-block:: jinja 27 | 28 | {% if var is defined and foo.method(var) is defined %} 29 | ... 30 | {% endif %} 31 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Node/BlockReferenceTest.php: -------------------------------------------------------------------------------- 1 | assertEquals('foo', $node->getAttribute('name')); 19 | } 20 | 21 | public function getTests() 22 | { 23 | return array( 24 | array(new Twig_Node_BlockReference('foo', 1), <<displayBlock('foo', \$context, \$blocks); 27 | EOF 28 | ), 29 | ); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/ExistsLoaderInterface.php: -------------------------------------------------------------------------------- 1 | 16 | * 17 | * @deprecated since 1.12 (to be removed in 3.0) 18 | */ 19 | interface Twig_ExistsLoaderInterface 20 | { 21 | /** 22 | * Check if we have the source code of a template, given its name. 23 | * 24 | * @param string $name The name of the template to check if we can load 25 | * 26 | * @return bool If the template source code is handled by this loader or not 27 | */ 28 | public function exists($name); 29 | } 30 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Extension/Optimizer.php: -------------------------------------------------------------------------------- 1 | optimizers = $optimizers; 18 | } 19 | 20 | /** 21 | * {@inheritdoc} 22 | */ 23 | public function getNodeVisitors() 24 | { 25 | return array(new Twig_NodeVisitor_Optimizer($this->optimizers)); 26 | } 27 | 28 | /** 29 | * {@inheritdoc} 30 | */ 31 | public function getName() 32 | { 33 | return 'optimizer'; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Node/Expression/Binary/FloorDiv.php: -------------------------------------------------------------------------------- 1 | raw('intval(floor('); 21 | parent::compile($compiler); 22 | $compiler->raw('))'); 23 | } 24 | 25 | public function operator(Twig_Compiler $compiler) 26 | { 27 | return $compiler->raw('/'); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Node/Expression/Test/Sameas.php: -------------------------------------------------------------------------------- 1 | 16 | */ 17 | class Twig_Node_Expression_Test_Sameas extends Twig_Node_Expression_Test 18 | { 19 | public function compile(Twig_Compiler $compiler) 20 | { 21 | $compiler 22 | ->raw('(') 23 | ->subcompile($this->getNode('node')) 24 | ->raw(' === ') 25 | ->subcompile($this->getNode('arguments')->getNode(0)) 26 | ->raw(')') 27 | ; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/filters/batch_float.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "batch" filter 3 | --TEMPLATE-- 4 | {% for row in items|batch(3.1) %} 5 |
6 | {% for column in row %} 7 |
{{ column }}
8 | {% endfor %} 9 |
10 | {% endfor %} 11 | --DATA-- 12 | return array('items' => array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j')) 13 | --EXPECT-- 14 |
15 |
a
16 |
b
17 |
c
18 |
d
19 |
20 |
21 |
e
22 |
f
23 |
g
24 |
h
25 |
26 |
27 |
i
28 |
j
29 |
30 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/embed/multiple.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "embed" tag 3 | --TEMPLATE-- 4 | FOO 5 | {% embed "foo.twig" %} 6 | {% block c1 %} 7 | {{ parent() }} 8 | block1extended 9 | {% endblock %} 10 | {% endembed %} 11 | 12 | {% embed "foo.twig" %} 13 | {% block c1 %} 14 | {{ parent() }} 15 | block1extended 16 | {% endblock %} 17 | {% endembed %} 18 | 19 | BAR 20 | --TEMPLATE(foo.twig)-- 21 | A 22 | {% block c1 %} 23 | block1 24 | {% endblock %} 25 | B 26 | {% block c2 %} 27 | block2 28 | {% endblock %} 29 | C 30 | --DATA-- 31 | return array() 32 | --EXPECT-- 33 | FOO 34 | 35 | A 36 | block1 37 | 38 | block1extended 39 | B 40 | block2 41 | C 42 | 43 | A 44 | block1 45 | 46 | block1extended 47 | B 48 | block2 49 | C 50 | BAR 51 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Node/Expression/Unary.php: -------------------------------------------------------------------------------- 1 | $node), array(), $lineno); 17 | } 18 | 19 | public function compile(Twig_Compiler $compiler) 20 | { 21 | $compiler->raw(' '); 22 | $this->operator($compiler); 23 | $compiler->subcompile($this->getNode('node')); 24 | } 25 | 26 | abstract public function operator(Twig_Compiler $compiler); 27 | } 28 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Node/PrintTest.php: -------------------------------------------------------------------------------- 1 | assertEquals($expr, $node->getNode('expr')); 20 | } 21 | 22 | public function getTests() 23 | { 24 | $tests = array(); 25 | $tests[] = array(new Twig_Node_Print(new Twig_Node_Expression_Constant('foo', 1), 1), "// line 1\necho \"foo\";"); 26 | 27 | return $tests; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Test/Node.php: -------------------------------------------------------------------------------- 1 | 16 | * @deprecated since 1.12 (to be removed in 2.0) 17 | */ 18 | class Twig_Test_Node extends Twig_Test 19 | { 20 | protected $class; 21 | 22 | public function __construct($class, array $options = array()) 23 | { 24 | parent::__construct($options); 25 | 26 | $this->class = $class; 27 | } 28 | 29 | public function getClass() 30 | { 31 | return $this->class; 32 | } 33 | 34 | public function compile() 35 | { 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/block_expr2.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | block_expr2 3 | --TEMPLATE-- 4 | {% extends "base2.twig" %} 5 | 6 | {% block element -%} 7 | Element: 8 | {{- parent() -}} 9 | {% endblock %} 10 | --TEMPLATE(base2.twig)-- 11 | {% extends "base.twig" %} 12 | --TEMPLATE(base.twig)-- 13 | {% spaceless %} 14 | {% block element -%} 15 |
16 | {%- if item.children is defined %} 17 | {%- for item in item.children %} 18 | {{- block('element') -}} 19 | {% endfor %} 20 | {%- endif -%} 21 |
22 | {%- endblock %} 23 | {% endspaceless %} 24 | --DATA-- 25 | return array( 26 | 'item' => array( 27 | 'children' => array( 28 | null, 29 | null, 30 | ) 31 | ) 32 | ) 33 | --EXPECT-- 34 | Element:
Element:
Element:
35 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Fixtures/filters/batch.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "batch" filter 3 | --TEMPLATE-- 4 | {% for row in items|batch(3) %} 5 |
6 | {% for column in row %} 7 |
{{ column }}
8 | {% endfor %} 9 |
10 | {% endfor %} 11 | --DATA-- 12 | return array('items' => array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j')) 13 | --EXPECT-- 14 |
15 |
a
16 |
b
17 |
c
18 |
19 |
20 |
d
21 |
e
22 |
f
23 |
24 |
25 |
g
26 |
h
27 |
i
28 |
29 |
30 |
j
31 |
32 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Test/Function.php: -------------------------------------------------------------------------------- 1 | 16 | * @deprecated since 1.12 (to be removed in 2.0) 17 | */ 18 | class Twig_Test_Function extends Twig_Test 19 | { 20 | protected $function; 21 | 22 | public function __construct($function, array $options = array()) 23 | { 24 | $options['callable'] = $function; 25 | 26 | parent::__construct($options); 27 | 28 | $this->function = $function; 29 | } 30 | 31 | public function compile() 32 | { 33 | return $this->function; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/ParserInterface.php: -------------------------------------------------------------------------------- 1 | 16 | * 17 | * @deprecated since 1.12 (to be removed in 3.0) 18 | */ 19 | interface Twig_ParserInterface 20 | { 21 | /** 22 | * Converts a token stream to a node tree. 23 | * 24 | * @param Twig_TokenStream $stream A token stream instance 25 | * 26 | * @return Twig_Node_Module A node tree 27 | * 28 | * @throws Twig_Error_Syntax When the token stream is syntactically or semantically wrong 29 | */ 30 | public function parse(Twig_TokenStream $stream); 31 | } 32 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Node/DoTest.php: -------------------------------------------------------------------------------- 1 | assertEquals($expr, $node->getNode('expr')); 20 | } 21 | 22 | public function getTests() 23 | { 24 | $tests = array(); 25 | 26 | $expr = new Twig_Node_Expression_Constant('foo', 1); 27 | $node = new Twig_Node_Do($expr, 1); 28 | $tests[] = array($node, "// line 1\n\"foo\";"); 29 | 30 | return $tests; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/filters/convert_encoding.rst: -------------------------------------------------------------------------------- 1 | ``convert_encoding`` 2 | ==================== 3 | 4 | .. versionadded:: 1.4 5 | The ``convert_encoding`` filter was added in Twig 1.4. 6 | 7 | The ``convert_encoding`` filter converts a string from one encoding to 8 | another. The first argument is the expected output charset and the second one 9 | is the input charset: 10 | 11 | .. code-block:: jinja 12 | 13 | {{ data|convert_encoding('UTF-8', 'iso-2022-jp') }} 14 | 15 | .. note:: 16 | 17 | This filter relies on the `iconv`_ or `mbstring`_ extension, so one of 18 | them must be installed. In case both are installed, `mbstring`_ is used by 19 | default (Twig before 1.8.1 uses `iconv`_ by default). 20 | 21 | Arguments 22 | --------- 23 | 24 | * ``to``: The output charset 25 | * ``from``: The input charset 26 | 27 | .. _`iconv`: http://php.net/iconv 28 | .. _`mbstring`: http://php.net/mbstring 29 | -------------------------------------------------------------------------------- /vendor/twig/twig/doc/tags/sandbox.rst: -------------------------------------------------------------------------------- 1 | ``sandbox`` 2 | =========== 3 | 4 | The ``sandbox`` tag can be used to enable the sandboxing mode for an included 5 | template, when sandboxing is not enabled globally for the Twig environment: 6 | 7 | .. code-block:: jinja 8 | 9 | {% sandbox %} 10 | {% include 'user.html' %} 11 | {% endsandbox %} 12 | 13 | .. warning:: 14 | 15 | The ``sandbox`` tag is only available when the sandbox extension is 16 | enabled (see the :doc:`Twig for Developers<../api>` chapter). 17 | 18 | .. note:: 19 | 20 | The ``sandbox`` tag can only be used to sandbox an include tag and it 21 | cannot be used to sandbox a section of a template. The following example 22 | won't work: 23 | 24 | .. code-block:: jinja 25 | 26 | {% sandbox %} 27 | {% for i in 1..2 %} 28 | {{ i }} 29 | {% endfor %} 30 | {% endsandbox %} 31 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Test.php: -------------------------------------------------------------------------------- 1 | 16 | * @deprecated since 1.12 (to be removed in 2.0) 17 | */ 18 | abstract class Twig_Test implements Twig_TestInterface, Twig_TestCallableInterface 19 | { 20 | protected $options; 21 | protected $arguments = array(); 22 | 23 | public function __construct(array $options = array()) 24 | { 25 | $this->options = array_merge(array( 26 | 'callable' => null, 27 | ), $options); 28 | } 29 | 30 | public function getCallable() 31 | { 32 | return $this->options['callable']; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Node/Flush.php: -------------------------------------------------------------------------------- 1 | 16 | */ 17 | class Twig_Node_Flush extends Twig_Node 18 | { 19 | public function __construct($lineno, $tag) 20 | { 21 | parent::__construct(array(), array(), $lineno, $tag); 22 | } 23 | 24 | /** 25 | * Compiles the node to PHP. 26 | * 27 | * @param Twig_Compiler $compiler A Twig_Compiler instance 28 | */ 29 | public function compile(Twig_Compiler $compiler) 30 | { 31 | $compiler 32 | ->addDebugInfo($this) 33 | ->write("flush();\n") 34 | ; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Filter/Node.php: -------------------------------------------------------------------------------- 1 | 18 | * @deprecated since 1.12 (to be removed in 2.0) 19 | */ 20 | class Twig_Filter_Node extends Twig_Filter 21 | { 22 | protected $class; 23 | 24 | public function __construct($class, array $options = array()) 25 | { 26 | parent::__construct($options); 27 | 28 | $this->class = $class; 29 | } 30 | 31 | public function getClass() 32 | { 33 | return $this->class; 34 | } 35 | 36 | public function compile() 37 | { 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Sandbox/SecurityNotAllowedTagError.php: -------------------------------------------------------------------------------- 1 | 16 | */ 17 | class Twig_Sandbox_SecurityNotAllowedTagError extends Twig_Sandbox_SecurityError 18 | { 19 | private $tagName; 20 | 21 | public function __construct($message, $tagName, $lineno = -1, $filename = null, Exception $previous = null) 22 | { 23 | parent::__construct($message, $lineno, $filename, $previous); 24 | $this->tagName = $tagName; 25 | } 26 | 27 | public function getTagName() 28 | { 29 | return $this->tagName; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Node/Expression/Unary/NotTest.php: -------------------------------------------------------------------------------- 1 | assertEquals($expr, $node->getNode('node')); 20 | } 21 | 22 | public function getTests() 23 | { 24 | $node = new Twig_Node_Expression_Constant(1, 1); 25 | $node = new Twig_Node_Expression_Unary_Not($node, 1); 26 | 27 | return array( 28 | array($node, '!1'), 29 | ); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /vendor/twig/twig/test/Twig/Tests/Node/Expression/Unary/PosTest.php: -------------------------------------------------------------------------------- 1 | assertEquals($expr, $node->getNode('node')); 20 | } 21 | 22 | public function getTests() 23 | { 24 | $node = new Twig_Node_Expression_Constant(1, 1); 25 | $node = new Twig_Node_Expression_Unary_Pos($node, 1); 26 | 27 | return array( 28 | array($node, '+1'), 29 | ); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/LexerInterface.php: -------------------------------------------------------------------------------- 1 | 16 | * 17 | * @deprecated since 1.12 (to be removed in 3.0) 18 | */ 19 | interface Twig_LexerInterface 20 | { 21 | /** 22 | * Tokenizes a source code. 23 | * 24 | * @param string $code The source code 25 | * @param string $filename A unique identifier for the source code 26 | * 27 | * @return Twig_TokenStream A token stream instance 28 | * 29 | * @throws Twig_Error_Syntax When the code is syntactically wrong 30 | */ 31 | public function tokenize($code, $filename = null); 32 | } 33 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Function/Node.php: -------------------------------------------------------------------------------- 1 | 18 | * @deprecated since 1.12 (to be removed in 2.0) 19 | */ 20 | class Twig_Function_Node extends Twig_Function 21 | { 22 | protected $class; 23 | 24 | public function __construct($class, array $options = array()) 25 | { 26 | parent::__construct($options); 27 | 28 | $this->class = $class; 29 | } 30 | 31 | public function getClass() 32 | { 33 | return $this->class; 34 | } 35 | 36 | public function compile() 37 | { 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Node/Expression/Test/Divisibleby.php: -------------------------------------------------------------------------------- 1 | 16 | * {% if loop.index is divisible by(3) %} 17 | * 18 | * 19 | * @author Fabien Potencier 20 | */ 21 | class Twig_Node_Expression_Test_Divisibleby extends Twig_Node_Expression_Test 22 | { 23 | public function compile(Twig_Compiler $compiler) 24 | { 25 | $compiler 26 | ->raw('(0 == ') 27 | ->subcompile($this->getNode('node')) 28 | ->raw(' % ') 29 | ->subcompile($this->getNode('arguments')->getNode(0)) 30 | ->raw(')') 31 | ; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Filter/Function.php: -------------------------------------------------------------------------------- 1 | 18 | * @deprecated since 1.12 (to be removed in 2.0) 19 | */ 20 | class Twig_Filter_Function extends Twig_Filter 21 | { 22 | protected $function; 23 | 24 | public function __construct($function, array $options = array()) 25 | { 26 | $options['callable'] = $function; 27 | 28 | parent::__construct($options); 29 | 30 | $this->function = $function; 31 | } 32 | 33 | public function compile() 34 | { 35 | return $this->function; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /vendor/twig/twig/lib/Twig/Markup.php: -------------------------------------------------------------------------------- 1 | 16 | */ 17 | class Twig_Markup implements Countable 18 | { 19 | protected $content; 20 | protected $charset; 21 | 22 | public function __construct($content, $charset) 23 | { 24 | $this->content = (string) $content; 25 | $this->charset = $charset; 26 | } 27 | 28 | public function __toString() 29 | { 30 | return $this->content; 31 | } 32 | 33 | public function count() 34 | { 35 | return function_exists('mb_get_info') ? mb_strlen($this->content, $this->charset) : strlen($this->content); 36 | } 37 | } 38 | --------------------------------------------------------------------------------