├── Readme.md ├── configs ├── big-machine │ ├── nginx.conf │ └── php-fpm_pool.d_www.conf ├── common │ ├── phalcon_nginx_vhost │ ├── php.ini │ ├── phpinfo.html │ └── slim_nginx_vhost └── raspberry-pi2 │ ├── nginx.conf │ └── php-fpm_pool.d_www.conf ├── golang ├── assets │ ├── css │ │ └── styles.css │ └── images │ │ ├── copyright.md │ │ ├── pete_1.jpg │ │ ├── pete_2.jpg │ │ ├── pete_3.jpg │ │ └── pete_4.jpg ├── gallery.go └── views │ ├── app.html │ ├── gallery.html │ └── image.html ├── phalcon ├── .gitignore ├── Readme.md ├── app │ ├── controllers │ │ ├── GalleryController.php │ │ └── IndexController.php │ └── views │ │ ├── app.html │ │ ├── gallery │ │ ├── image.html │ │ └── index.html │ │ └── index │ │ └── index.html ├── cache │ └── .gitignore └── public │ ├── assets │ ├── css │ │ └── styles.css │ └── images │ │ ├── copyright.md │ │ ├── pete_1.jpg │ │ ├── pete_2.jpg │ │ ├── pete_3.jpg │ │ └── pete_4.jpg │ └── index.php ├── phoenix ├── .gitignore ├── README.md ├── brunch-config.js ├── config │ ├── config.exs │ ├── dev.exs │ ├── prod.exs │ ├── prod.secret.exs │ └── test.exs ├── lib │ ├── pete_phoenix.ex │ └── pete_phoenix │ │ ├── endpoint.ex │ │ └── repo.ex ├── mix.exs ├── mix.lock ├── package.json ├── priv │ ├── gettext │ │ ├── en │ │ │ └── LC_MESSAGES │ │ │ │ └── errors.po │ │ └── errors.pot │ ├── repo │ │ └── seeds.exs │ └── static │ │ ├── css │ │ ├── app.css │ │ └── app.css.map │ │ ├── favicon.ico │ │ ├── images │ │ ├── copyright.md │ │ ├── pete_1.jpg │ │ ├── pete_2.jpg │ │ ├── pete_3.jpg │ │ ├── pete_4.jpg │ │ └── phoenix.png │ │ ├── js │ │ ├── app.js │ │ └── app.js.map │ │ └── robots.txt ├── test │ ├── controllers │ │ └── page_controller_test.exs │ ├── support │ │ ├── channel_case.ex │ │ ├── conn_case.ex │ │ └── model_case.ex │ ├── test_helper.exs │ └── views │ │ ├── error_view_test.exs │ │ ├── layout_view_test.exs │ │ └── page_view_test.exs └── web │ ├── channels │ └── user_socket.ex │ ├── controllers │ ├── gallery_controller.ex │ └── page_controller.ex │ ├── gettext.ex │ ├── router.ex │ ├── static │ ├── assets │ │ ├── favicon.ico │ │ ├── images │ │ │ ├── copyright.md │ │ │ ├── pete_1.jpg │ │ │ ├── pete_2.jpg │ │ │ ├── pete_3.jpg │ │ │ ├── pete_4.jpg │ │ │ └── phoenix.png │ │ └── robots.txt │ ├── css │ │ └── style.css │ └── js │ │ ├── app.js │ │ └── socket.js │ ├── templates │ ├── gallery │ │ ├── image.html.eex │ │ └── index.html.eex │ ├── layout │ │ └── app.html.eex │ └── page │ │ └── index.html.eex │ ├── views │ ├── error_helpers.ex │ ├── error_view.ex │ ├── gallery_view.ex │ ├── layout_view.ex │ └── page_view.ex │ └── web.ex ├── results--12-core-vm.md ├── results--2-core-vm.md ├── results--raspberry-pi2.md └── slim ├── .gitignore ├── Readme.md ├── assets ├── css │ └── styles.css └── images │ ├── copyright.md │ ├── pete_1.jpg │ ├── pete_2.jpg │ ├── pete_3.jpg │ └── pete_4.jpg ├── cache └── .gitignore ├── composer.json ├── composer.lock ├── index.php ├── templates ├── app.html ├── gallery.html └── image.html └── vendor ├── autoload.php ├── composer ├── ClassLoader.php ├── LICENSE ├── autoload_classmap.php ├── autoload_files.php ├── autoload_namespaces.php ├── autoload_psr4.php ├── autoload_real.php └── installed.json ├── container-interop └── container-interop │ ├── .gitignore │ ├── LICENSE │ ├── README.md │ ├── composer.json │ ├── docs │ ├── ContainerInterface-meta.md │ ├── ContainerInterface.md │ ├── Delegate-lookup-meta.md │ ├── Delegate-lookup.md │ └── images │ │ ├── interoperating_containers.png │ │ ├── priority.png │ │ └── side_by_side_containers.png │ └── src │ └── Interop │ └── Container │ ├── ContainerInterface.php │ └── Exception │ ├── ContainerException.php │ └── NotFoundException.php ├── nikic └── fast-route │ ├── .travis.yml │ ├── LICENSE │ ├── README.md │ ├── composer.json │ ├── phpunit.xml │ ├── src │ ├── BadRouteException.php │ ├── DataGenerator.php │ ├── DataGenerator │ │ ├── CharCountBased.php │ │ ├── GroupCountBased.php │ │ ├── GroupPosBased.php │ │ ├── MarkBased.php │ │ └── RegexBasedAbstract.php │ ├── Dispatcher.php │ ├── Dispatcher │ │ ├── CharCountBased.php │ │ ├── GroupCountBased.php │ │ ├── GroupPosBased.php │ │ ├── MarkBased.php │ │ └── RegexBasedAbstract.php │ ├── Route.php │ ├── RouteCollector.php │ ├── RouteParser.php │ ├── RouteParser │ │ └── Std.php │ ├── bootstrap.php │ └── functions.php │ └── test │ ├── Dispatcher │ ├── CharCountBasedTest.php │ ├── DispatcherTest.php │ ├── GroupCountBasedTest.php │ ├── GroupPosBasedTest.php │ └── MarkBasedTest.php │ ├── RouteParser │ └── StdTest.php │ └── bootstrap.php ├── pimple └── pimple │ ├── .gitignore │ ├── .travis.yml │ ├── CHANGELOG │ ├── LICENSE │ ├── README.rst │ ├── composer.json │ ├── ext │ └── pimple │ │ ├── .gitignore │ │ ├── README.md │ │ ├── config.m4 │ │ ├── config.w32 │ │ ├── php_pimple.h │ │ ├── pimple.c │ │ ├── pimple_compat.h │ │ └── tests │ │ ├── 001.phpt │ │ ├── 002.phpt │ │ ├── 003.phpt │ │ ├── 004.phpt │ │ ├── 005.phpt │ │ ├── 006.phpt │ │ ├── 007.phpt │ │ ├── 008.phpt │ │ ├── 009.phpt │ │ ├── 010.phpt │ │ ├── 011.phpt │ │ ├── 012.phpt │ │ ├── 013.phpt │ │ ├── 014.phpt │ │ ├── 015.phpt │ │ ├── 016.phpt │ │ ├── 017.phpt │ │ ├── 017_1.phpt │ │ ├── 018.phpt │ │ ├── 019.phpt │ │ ├── bench.phpb │ │ └── bench_shared.phpb │ ├── phpunit.xml.dist │ └── src │ └── Pimple │ ├── Container.php │ ├── ServiceProviderInterface.php │ └── Tests │ ├── Fixtures │ ├── Invokable.php │ ├── NonInvokable.php │ ├── PimpleServiceProvider.php │ └── Service.php │ ├── PimpleServiceProviderInterfaceTest.php │ └── PimpleTest.php ├── psr └── http-message │ ├── LICENSE │ ├── README.md │ ├── composer.json │ └── src │ ├── MessageInterface.php │ ├── RequestInterface.php │ ├── ResponseInterface.php │ ├── ServerRequestInterface.php │ ├── StreamInterface.php │ ├── UploadedFileInterface.php │ └── UriInterface.php ├── slim ├── slim │ ├── .codeclimate.yml │ ├── .coveralls.yml │ ├── .gitignore │ ├── .travis.yml │ ├── CONTRIBUTING.md │ ├── LICENSE.md │ ├── README.md │ ├── Slim │ │ ├── App.php │ │ ├── CallableResolver.php │ │ ├── CallableResolverAwareTrait.php │ │ ├── Collection.php │ │ ├── Container.php │ │ ├── Exception │ │ │ ├── ContainerValueNotFoundException.php │ │ │ ├── MethodNotAllowedException.php │ │ │ ├── NotFoundException.php │ │ │ └── SlimException.php │ │ ├── Handlers │ │ │ ├── Error.php │ │ │ ├── NotAllowed.php │ │ │ ├── NotFound.php │ │ │ └── Strategies │ │ │ │ ├── RequestResponse.php │ │ │ │ └── RequestResponseArgs.php │ │ ├── Http │ │ │ ├── Body.php │ │ │ ├── Cookies.php │ │ │ ├── Environment.php │ │ │ ├── Headers.php │ │ │ ├── Message.php │ │ │ ├── Request.php │ │ │ ├── RequestBody.php │ │ │ ├── Response.php │ │ │ ├── Stream.php │ │ │ ├── UploadedFile.php │ │ │ └── Uri.php │ │ ├── Interfaces │ │ │ ├── CallableResolverInterface.php │ │ │ ├── CollectionInterface.php │ │ │ ├── Http │ │ │ │ ├── CookiesInterface.php │ │ │ │ ├── EnvironmentInterface.php │ │ │ │ └── HeadersInterface.php │ │ │ ├── InvocationStrategyInterface.php │ │ │ ├── RouteGroupInterface.php │ │ │ ├── RouteInterface.php │ │ │ └── RouterInterface.php │ │ ├── MiddlewareAwareTrait.php │ │ ├── Routable.php │ │ ├── Route.php │ │ ├── RouteGroup.php │ │ └── Router.php │ ├── composer.json │ ├── example │ │ ├── .htaccess │ │ └── index.php │ ├── phpunit.xml.dist │ └── tests │ │ ├── AppTest.php │ │ ├── CallableResolverTest.php │ │ ├── CollectionTest.php │ │ ├── ContainerTest.php │ │ ├── Handlers │ │ ├── ErrorTest.php │ │ ├── NotAllowedTest.php │ │ └── NotFoundTest.php │ │ ├── Http │ │ ├── BodyTest.php │ │ ├── CookiesTest.php │ │ ├── EnvironmentTest.php │ │ ├── HeadersTest.php │ │ ├── MessageTest.php │ │ ├── RequestBodyTest.php │ │ ├── RequestTest.php │ │ ├── ResponseTest.php │ │ ├── UploadedFilesTest.php │ │ └── UriTest.php │ │ ├── MiddlewareAwareTest.php │ │ ├── Mocks │ │ ├── CallableTest.php │ │ ├── InvokableTest.php │ │ ├── MessageStub.php │ │ ├── MiddlewareStub.php │ │ ├── MockAction.php │ │ ├── Stackable.php │ │ └── StaticCallable.php │ │ ├── README │ │ ├── RouteTest.php │ │ ├── RouterTest.php │ │ └── bootstrap.php └── twig-view │ ├── .gitignore │ ├── .travis.yml │ ├── LICENSE.md │ ├── README.md │ ├── composer.json │ ├── phpunit.xml.dist │ ├── src │ ├── Twig.php │ └── TwigExtension.php │ └── tests │ ├── TwigTest.php │ └── templates │ └── example.html └── twig └── twig ├── .editorconfig ├── .gitignore ├── .travis.yml ├── CHANGELOG ├── LICENSE ├── README.rst ├── composer.json ├── doc ├── advanced.rst ├── advanced_legacy.rst ├── api.rst ├── coding_standards.rst ├── deprecated.rst ├── filters │ ├── abs.rst │ ├── batch.rst │ ├── capitalize.rst │ ├── convert_encoding.rst │ ├── date.rst │ ├── date_modify.rst │ ├── default.rst │ ├── escape.rst │ ├── first.rst │ ├── format.rst │ ├── index.rst │ ├── join.rst │ ├── json_encode.rst │ ├── keys.rst │ ├── last.rst │ ├── length.rst │ ├── lower.rst │ ├── merge.rst │ ├── nl2br.rst │ ├── number_format.rst │ ├── raw.rst │ ├── replace.rst │ ├── reverse.rst │ ├── round.rst │ ├── slice.rst │ ├── sort.rst │ ├── split.rst │ ├── striptags.rst │ ├── title.rst │ ├── trim.rst │ ├── upper.rst │ └── url_encode.rst ├── functions │ ├── attribute.rst │ ├── block.rst │ ├── constant.rst │ ├── cycle.rst │ ├── date.rst │ ├── dump.rst │ ├── include.rst │ ├── index.rst │ ├── max.rst │ ├── min.rst │ ├── parent.rst │ ├── random.rst │ ├── range.rst │ ├── source.rst │ └── template_from_string.rst ├── index.rst ├── installation.rst ├── internals.rst ├── intro.rst ├── recipes.rst ├── tags │ ├── autoescape.rst │ ├── block.rst │ ├── do.rst │ ├── embed.rst │ ├── extends.rst │ ├── filter.rst │ ├── flush.rst │ ├── for.rst │ ├── from.rst │ ├── if.rst │ ├── import.rst │ ├── include.rst │ ├── index.rst │ ├── macro.rst │ ├── sandbox.rst │ ├── set.rst │ ├── spaceless.rst │ ├── use.rst │ └── verbatim.rst ├── templates.rst └── tests │ ├── constant.rst │ ├── defined.rst │ ├── divisibleby.rst │ ├── empty.rst │ ├── even.rst │ ├── index.rst │ ├── iterable.rst │ ├── null.rst │ ├── odd.rst │ └── sameas.rst ├── ext └── twig │ ├── .gitignore │ ├── config.m4 │ ├── config.w32 │ ├── php_twig.h │ └── twig.c ├── lib └── Twig │ ├── Autoloader.php │ ├── BaseNodeVisitor.php │ ├── Cache │ ├── Filesystem.php │ └── Null.php │ ├── CacheInterface.php │ ├── Compiler.php │ ├── CompilerInterface.php │ ├── Environment.php │ ├── Error.php │ ├── Error │ ├── Loader.php │ ├── Runtime.php │ └── Syntax.php │ ├── ExistsLoaderInterface.php │ ├── ExpressionParser.php │ ├── Extension.php │ ├── Extension │ ├── Core.php │ ├── Debug.php │ ├── Escaper.php │ ├── GlobalsInterface.php │ ├── InitRuntimeInterface.php │ ├── Optimizer.php │ ├── Profiler.php │ ├── Sandbox.php │ ├── Staging.php │ └── StringLoader.php │ ├── ExtensionInterface.php │ ├── FileExtensionEscapingStrategy.php │ ├── Filter.php │ ├── Filter │ ├── Function.php │ ├── Method.php │ └── Node.php │ ├── FilterCallableInterface.php │ ├── FilterInterface.php │ ├── Function.php │ ├── Function │ ├── Function.php │ ├── Method.php │ └── Node.php │ ├── FunctionCallableInterface.php │ ├── FunctionInterface.php │ ├── Lexer.php │ ├── LexerInterface.php │ ├── Loader │ ├── Array.php │ ├── Chain.php │ ├── Filesystem.php │ └── String.php │ ├── LoaderInterface.php │ ├── Markup.php │ ├── Node.php │ ├── Node │ ├── AutoEscape.php │ ├── Block.php │ ├── BlockReference.php │ ├── Body.php │ ├── CheckSecurity.php │ ├── Do.php │ ├── Embed.php │ ├── Expression.php │ ├── Expression │ │ ├── Array.php │ │ ├── AssignName.php │ │ ├── Binary.php │ │ ├── Binary │ │ │ ├── Add.php │ │ │ ├── And.php │ │ │ ├── BitwiseAnd.php │ │ │ ├── BitwiseOr.php │ │ │ ├── BitwiseXor.php │ │ │ ├── Concat.php │ │ │ ├── Div.php │ │ │ ├── EndsWith.php │ │ │ ├── Equal.php │ │ │ ├── FloorDiv.php │ │ │ ├── Greater.php │ │ │ ├── GreaterEqual.php │ │ │ ├── In.php │ │ │ ├── Less.php │ │ │ ├── LessEqual.php │ │ │ ├── Matches.php │ │ │ ├── Mod.php │ │ │ ├── Mul.php │ │ │ ├── NotEqual.php │ │ │ ├── NotIn.php │ │ │ ├── Or.php │ │ │ ├── Power.php │ │ │ ├── Range.php │ │ │ ├── StartsWith.php │ │ │ └── Sub.php │ │ ├── BlockReference.php │ │ ├── Call.php │ │ ├── Conditional.php │ │ ├── Constant.php │ │ ├── ExtensionReference.php │ │ ├── Filter.php │ │ ├── Filter │ │ │ └── Default.php │ │ ├── Function.php │ │ ├── GetAttr.php │ │ ├── MethodCall.php │ │ ├── Name.php │ │ ├── Parent.php │ │ ├── TempName.php │ │ ├── Test.php │ │ ├── Test │ │ │ ├── Constant.php │ │ │ ├── Defined.php │ │ │ ├── Divisibleby.php │ │ │ ├── Even.php │ │ │ ├── Null.php │ │ │ ├── Odd.php │ │ │ └── Sameas.php │ │ ├── Unary.php │ │ └── Unary │ │ │ ├── Neg.php │ │ │ ├── Not.php │ │ │ └── Pos.php │ ├── Flush.php │ ├── For.php │ ├── ForLoop.php │ ├── If.php │ ├── Import.php │ ├── Include.php │ ├── Macro.php │ ├── Module.php │ ├── Print.php │ ├── Sandbox.php │ ├── SandboxedPrint.php │ ├── Set.php │ ├── SetTemp.php │ ├── Spaceless.php │ └── Text.php │ ├── NodeInterface.php │ ├── NodeOutputInterface.php │ ├── NodeTraverser.php │ ├── NodeVisitor │ ├── Escaper.php │ ├── Optimizer.php │ ├── SafeAnalysis.php │ └── Sandbox.php │ ├── NodeVisitorInterface.php │ ├── Parser.php │ ├── ParserInterface.php │ ├── Profiler │ ├── Dumper │ │ ├── Blackfire.php │ │ ├── Html.php │ │ └── Text.php │ ├── Node │ │ ├── EnterProfile.php │ │ └── LeaveProfile.php │ ├── NodeVisitor │ │ └── Profiler.php │ └── Profile.php │ ├── Sandbox │ ├── SecurityError.php │ ├── SecurityNotAllowedFilterError.php │ ├── SecurityNotAllowedFunctionError.php │ ├── SecurityNotAllowedTagError.php │ ├── SecurityPolicy.php │ └── SecurityPolicyInterface.php │ ├── SimpleFilter.php │ ├── SimpleFunction.php │ ├── SimpleTest.php │ ├── Template.php │ ├── TemplateInterface.php │ ├── Test.php │ ├── Test │ ├── Function.php │ ├── IntegrationTestCase.php │ ├── Method.php │ ├── Node.php │ └── NodeTestCase.php │ ├── TestCallableInterface.php │ ├── TestInterface.php │ ├── Token.php │ ├── TokenParser.php │ ├── TokenParser │ ├── AutoEscape.php │ ├── Block.php │ ├── Do.php │ ├── Embed.php │ ├── Extends.php │ ├── Filter.php │ ├── Flush.php │ ├── For.php │ ├── From.php │ ├── If.php │ ├── Import.php │ ├── Include.php │ ├── Macro.php │ ├── Sandbox.php │ ├── Set.php │ ├── Spaceless.php │ └── Use.php │ ├── TokenParserBroker.php │ ├── TokenParserBrokerInterface.php │ ├── TokenParserInterface.php │ ├── TokenStream.php │ └── Util │ ├── DeprecationCollector.php │ └── TemplateDirIterator.php ├── phpunit.xml.dist └── test ├── Twig └── Tests │ ├── AutoloaderTest.php │ ├── Cache │ └── FilesystemTest.php │ ├── CompilerTest.php │ ├── EnvironmentTest.php │ ├── ErrorTest.php │ ├── ExpressionParserTest.php │ ├── Extension │ ├── CoreTest.php │ └── SandboxTest.php │ ├── FileCachingTest.php │ ├── FileExtensionEscapingStrategyTest.php │ ├── Fixtures │ ├── autoescape │ │ └── filename.test │ ├── errors │ │ ├── base.html │ │ └── index.html │ ├── exceptions │ │ ├── multiline_array_with_undefined_variable.test │ │ ├── multiline_array_with_undefined_variable_again.test │ │ ├── multiline_function_with_undefined_variable.test │ │ ├── multiline_function_with_unknown_argument.test │ │ ├── multiline_tag_with_undefined_variable.test │ │ ├── syntax_error_in_reused_template.test │ │ ├── unclosed_tag.test │ │ ├── undefined_parent.test │ │ ├── undefined_template_in_child_template.test │ │ └── undefined_trait.test │ ├── expressions │ │ ├── array.test │ │ ├── array_call.test │ │ ├── binary.test │ │ ├── bitwise.test │ │ ├── comparison.test │ │ ├── divisibleby.test │ │ ├── dotdot.test │ │ ├── ends_with.test │ │ ├── grouping.test │ │ ├── literals.test │ │ ├── magic_call.test │ │ ├── matches.test │ │ ├── method_call.test │ │ ├── negative_numbers.test │ │ ├── operators_as_variables.test │ │ ├── postfix.test │ │ ├── sameas.test │ │ ├── starts_with.test │ │ ├── strings.test │ │ ├── ternary_operator.test │ │ ├── ternary_operator_noelse.test │ │ ├── ternary_operator_nothen.test │ │ ├── two_word_operators_as_variables.test │ │ ├── unary.test │ │ ├── unary_macro_arguments.test │ │ └── unary_precedence.test │ ├── filters │ │ ├── abs.test │ │ ├── batch.test │ │ ├── batch_float.test │ │ ├── batch_with_empty_fill.test │ │ ├── batch_with_exact_elements.test │ │ ├── batch_with_fill.test │ │ ├── batch_with_keys.test │ │ ├── batch_with_zero_elements.test │ │ ├── convert_encoding.test │ │ ├── date.test │ │ ├── date_default_format.test │ │ ├── date_default_format_interval.test │ │ ├── date_immutable.test │ │ ├── date_interval.test │ │ ├── date_modify.test │ │ ├── date_namedargs.test │ │ ├── default.test │ │ ├── dynamic_filter.test │ │ ├── escape.test │ │ ├── escape_html_attr.test │ │ ├── escape_non_supported_charset.test │ │ ├── first.test │ │ ├── force_escape.test │ │ ├── format.test │ │ ├── join.test │ │ ├── json_encode.test │ │ ├── last.test │ │ ├── length.test │ │ ├── length_utf8.test │ │ ├── merge.test │ │ ├── nl2br.test │ │ ├── number_format.test │ │ ├── number_format_default.test │ │ ├── replace.test │ │ ├── replace_invalid_arg.test │ │ ├── reverse.test │ │ ├── round.test │ │ ├── slice.test │ │ ├── sort.test │ │ ├── special_chars.test │ │ ├── split.test │ │ ├── split_utf8.test │ │ ├── trim.test │ │ ├── urlencode.test │ │ └── urlencode_deprecated.test │ ├── functions │ │ ├── attribute.test │ │ ├── block.test │ │ ├── constant.test │ │ ├── cycle.test │ │ ├── date.test │ │ ├── date_namedargs.test │ │ ├── dump.test │ │ ├── dump_array.test │ │ ├── dynamic_function.test │ │ ├── include │ │ │ ├── assignment.test │ │ │ ├── autoescaping.test │ │ │ ├── basic.test │ │ │ ├── expression.test │ │ │ ├── ignore_missing.test │ │ │ ├── missing.test │ │ │ ├── missing_nested.test │ │ │ ├── sandbox.test │ │ │ ├── sandbox_disabling.test │ │ │ ├── sandbox_disabling_ignore_missing.test │ │ │ ├── template_instance.test │ │ │ ├── templates_as_array.test │ │ │ ├── with_context.test │ │ │ └── with_variables.test │ │ ├── max.test │ │ ├── min.test │ │ ├── range.test │ │ ├── recursive_block_with_inheritance.test │ │ ├── source.test │ │ ├── special_chars.test │ │ └── template_from_string.test │ ├── macros │ │ ├── default_values.test │ │ ├── nested_calls.test │ │ ├── reserved_variables.test │ │ ├── simple.test │ │ ├── varargs.test │ │ ├── varargs_argument.test │ │ └── with_filters.test │ ├── regression │ │ ├── combined_debug_info.test │ │ ├── empty_token.test │ │ ├── issue_1143.test │ │ ├── multi_word_tests.test │ │ ├── simple_xml_element.test │ │ └── strings_like_numbers.test │ ├── tags │ │ ├── autoescape │ │ │ ├── basic.test │ │ │ ├── blocks.test │ │ │ ├── double_escaping.test │ │ │ ├── functions.test │ │ │ ├── literal.test │ │ │ ├── nested.test │ │ │ ├── objects.test │ │ │ ├── raw.test │ │ │ ├── strategy.legacy.test │ │ │ ├── strategy.test │ │ │ ├── type.test │ │ │ ├── with_filters.test │ │ │ ├── with_filters_arguments.test │ │ │ ├── with_pre_escape_filters.test │ │ │ └── with_preserves_safety_filters.test │ │ ├── block │ │ │ ├── basic.test │ │ │ ├── block_unique_name.test │ │ │ └── special_chars.test │ │ ├── embed │ │ │ ├── basic.test │ │ │ ├── error_line.test │ │ │ ├── multiple.test │ │ │ ├── nested.test │ │ │ └── with_extends.test │ │ ├── filter │ │ │ ├── basic.test │ │ │ ├── json_encode.test │ │ │ ├── multiple.test │ │ │ ├── nested.test │ │ │ ├── with_for_tag.test │ │ │ └── with_if_tag.test │ │ ├── for │ │ │ ├── condition.test │ │ │ ├── context.test │ │ │ ├── else.test │ │ │ ├── inner_variables.test │ │ │ ├── keys.test │ │ │ ├── keys_and_values.test │ │ │ ├── loop_context.test │ │ │ ├── loop_context_local.test │ │ │ ├── loop_not_defined.test │ │ │ ├── loop_not_defined_cond.test │ │ │ ├── nested_else.test │ │ │ ├── objects.test │ │ │ ├── objects_countable.test │ │ │ ├── recursive.test │ │ │ └── values.test │ │ ├── from.test │ │ ├── if │ │ │ ├── basic.test │ │ │ └── expression.test │ │ ├── include │ │ │ ├── basic.test │ │ │ ├── expression.test │ │ │ ├── ignore_missing.test │ │ │ ├── missing.test │ │ │ ├── missing_nested.test │ │ │ ├── only.test │ │ │ ├── template_instance.test │ │ │ ├── templates_as_array.test │ │ │ └── with_variables.test │ │ ├── inheritance │ │ │ ├── basic.test │ │ │ ├── block_expr.test │ │ │ ├── block_expr2.test │ │ │ ├── conditional.test │ │ │ ├── dynamic.test │ │ │ ├── empty.test │ │ │ ├── extends_as_array.test │ │ │ ├── extends_as_array_with_empty_name.test │ │ │ ├── extends_as_array_with_null_name.test │ │ │ ├── multiple.test │ │ │ ├── multiple_dynamic.test │ │ │ ├── nested_blocks.test │ │ │ ├── nested_blocks_parent_only.test │ │ │ ├── nested_inheritance.test │ │ │ ├── parent.test │ │ │ ├── parent_change.test │ │ │ ├── parent_in_a_block.test │ │ │ ├── parent_isolation.test │ │ │ ├── parent_nested.test │ │ │ ├── parent_without_extends.test │ │ │ ├── parent_without_extends_but_traits.test │ │ │ ├── template_instance.test │ │ │ └── use.test │ │ ├── macro │ │ │ ├── basic.test │ │ │ ├── endmacro_name.test │ │ │ ├── external.test │ │ │ ├── from.test │ │ │ ├── from_with_reserved_name.test │ │ │ ├── global.test │ │ │ ├── import_with_reserved_nam.test │ │ │ ├── reserved_name.test │ │ │ ├── self_import.test │ │ │ ├── special_chars.test │ │ │ └── super_globals.test │ │ ├── raw │ │ │ ├── basic.legacy.test │ │ │ ├── mixed_usage_with_raw.legacy.test │ │ │ └── whitespace_control.legacy.test │ │ ├── sandbox │ │ │ ├── not_valid1.test │ │ │ ├── not_valid2.test │ │ │ └── simple.test │ │ ├── set │ │ │ ├── basic.test │ │ │ ├── capture-empty.test │ │ │ ├── capture.test │ │ │ └── expression.test │ │ ├── spaceless │ │ │ └── simple.test │ │ ├── special_chars.test │ │ ├── trim_block.test │ │ ├── use │ │ │ ├── aliases.test │ │ │ ├── basic.test │ │ │ ├── deep.test │ │ │ ├── deep_empty.test │ │ │ ├── inheritance.test │ │ │ ├── inheritance2.test │ │ │ ├── multiple.test │ │ │ ├── multiple_aliases.test │ │ │ ├── parent_block.test │ │ │ ├── parent_block2.test │ │ │ └── parent_block3.test │ │ └── verbatim │ │ │ ├── basic.test │ │ │ ├── mixed_usage_with_raw.test │ │ │ └── whitespace_control.test │ └── tests │ │ ├── array.test │ │ ├── constant.test │ │ ├── defined.test │ │ ├── empty.test │ │ ├── even.test │ │ ├── in.test │ │ ├── in_with_objects.test │ │ ├── iterable.test │ │ └── odd.test │ ├── IntegrationTest.php │ ├── LegacyFixtures │ └── test.legacy.test │ ├── LegacyIntegrationTest.php │ ├── LexerTest.php │ ├── Loader │ ├── ArrayTest.php │ ├── ChainTest.php │ ├── FilesystemTest.php │ └── Fixtures │ │ ├── inheritance │ │ ├── array_inheritance_empty_parent.html.twig │ │ ├── array_inheritance_nonexistent_parent.html.twig │ │ ├── array_inheritance_null_parent.html.twig │ │ ├── array_inheritance_valid_parent.html.twig │ │ ├── parent.html.twig │ │ └── spare_parent.html.twig │ │ ├── named │ │ └── index.html │ │ ├── named_bis │ │ └── index.html │ │ ├── named_final │ │ └── index.html │ │ ├── named_quater │ │ └── named_absolute.html │ │ ├── named_ter │ │ └── index.html │ │ ├── normal │ │ └── index.html │ │ ├── normal_bis │ │ └── index.html │ │ ├── normal_final │ │ └── index.html │ │ ├── normal_ter │ │ └── index.html │ │ └── themes │ │ ├── theme1 │ │ └── blocks.html.twig │ │ └── theme2 │ │ └── blocks.html.twig │ ├── NativeExtensionTest.php │ ├── Node │ ├── AutoEscapeTest.php │ ├── BlockReferenceTest.php │ ├── BlockTest.php │ ├── DoTest.php │ ├── Expression │ │ ├── ArrayTest.php │ │ ├── AssignNameTest.php │ │ ├── Binary │ │ │ ├── AddTest.php │ │ │ ├── AndTest.php │ │ │ ├── ConcatTest.php │ │ │ ├── DivTest.php │ │ │ ├── FloorDivTest.php │ │ │ ├── ModTest.php │ │ │ ├── MulTest.php │ │ │ ├── OrTest.php │ │ │ └── SubTest.php │ │ ├── CallTest.php │ │ ├── ConditionalTest.php │ │ ├── ConstantTest.php │ │ ├── FilterTest.php │ │ ├── FunctionTest.php │ │ ├── GetAttrTest.php │ │ ├── NameTest.php │ │ ├── PHP53 │ │ │ ├── FilterInclude.php │ │ │ ├── FunctionInclude.php │ │ │ └── TestInclude.php │ │ ├── ParentTest.php │ │ ├── TestTest.php │ │ └── Unary │ │ │ ├── NegTest.php │ │ │ ├── NotTest.php │ │ │ └── PosTest.php │ ├── ForTest.php │ ├── IfTest.php │ ├── ImportTest.php │ ├── IncludeTest.php │ ├── MacroTest.php │ ├── ModuleTest.php │ ├── PrintTest.php │ ├── SandboxTest.php │ ├── SandboxedPrintTest.php │ ├── SetTest.php │ ├── SpacelessTest.php │ └── TextTest.php │ ├── NodeVisitor │ └── OptimizerTest.php │ ├── ParserTest.php │ ├── Profiler │ ├── Dumper │ │ ├── AbstractTest.php │ │ ├── BlackfireTest.php │ │ ├── HtmlTest.php │ │ └── TextTest.php │ └── ProfileTest.php │ ├── TemplateTest.php │ ├── TokenStreamTest.php │ └── escapingTest.php └── bootstrap.php /configs/big-machine/php-fpm_pool.d_www.conf: -------------------------------------------------------------------------------- 1 | [www] 2 | 3 | user = www-data 4 | group = www-data 5 | 6 | listen = /var/run/php5-fpm.sock 7 | listen.owner = www-data 8 | listen.group = www-data 9 | listen.mode = 0660 10 | 11 | pm = dynamic 12 | pm.max_children = 36 13 | pm.start_servers = 5 14 | pm.min_spare_servers = 5 15 | pm.max_spare_servers = 5 16 | -------------------------------------------------------------------------------- /configs/raspberry-pi2/php-fpm_pool.d_www.conf: -------------------------------------------------------------------------------- 1 | [www] 2 | 3 | user = www-data 4 | group = www-data 5 | 6 | listen = /var/run/php5-fpm.sock 7 | listen.owner = www-data 8 | listen.group = www-data 9 | listen.mode = 0660 10 | 11 | pm = dynamic 12 | pm.max_children = 5 13 | pm.start_servers = 2 14 | pm.min_spare_servers = 1 15 | pm.max_spare_servers = 3 16 | -------------------------------------------------------------------------------- /golang/assets/images/copyright.md: -------------------------------------------------------------------------------- 1 | Images used for this demo are under creative commons license: 2 | https://creativecommons.org/licenses/by/2.0/ 3 | 4 | Links to the authors and images: 5 | pete_1.jpg: https://flic.kr/p/9Yd37s 6 | Author: Ben Ferenchak 7 | 8 | pete_2.jpg: https://flic.kr/p/xjFhnR 9 | Author: Douglas Scortegagna 10 | 11 | pete_3.jpg: https://flic.kr/p/nVP5fh 12 | Author: Simon Thois Photography 13 | 14 | pete_4.jpg: https://flic.kr/p/vvC6hq 15 | Author: Jaden Maru -------------------------------------------------------------------------------- /golang/assets/images/pete_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndeet/pete/7ee4ccfe7e1299807b075c59630a36838593b41a/golang/assets/images/pete_1.jpg -------------------------------------------------------------------------------- /golang/assets/images/pete_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndeet/pete/7ee4ccfe7e1299807b075c59630a36838593b41a/golang/assets/images/pete_2.jpg -------------------------------------------------------------------------------- /golang/assets/images/pete_3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndeet/pete/7ee4ccfe7e1299807b075c59630a36838593b41a/golang/assets/images/pete_3.jpg -------------------------------------------------------------------------------- /golang/assets/images/pete_4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndeet/pete/7ee4ccfe7e1299807b075c59630a36838593b41a/golang/assets/images/pete_4.jpg -------------------------------------------------------------------------------- /golang/views/gallery.html: -------------------------------------------------------------------------------- 1 | {{ define "gallery"}} 2 |
3 |

PeTe Gallery

4 |
5 | 10 | {{ end }} 11 | -------------------------------------------------------------------------------- /golang/views/image.html: -------------------------------------------------------------------------------- 1 | {{ define "image"}} 2 |
3 | 4 | Image source: {{ .Url }} 5 |
6 | {{ end }} 7 | -------------------------------------------------------------------------------- /phalcon/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndeet/pete/7ee4ccfe7e1299807b075c59630a36838593b41a/phalcon/.gitignore -------------------------------------------------------------------------------- /phalcon/Readme.md: -------------------------------------------------------------------------------- 1 | ##Pete Project: Phalcon Framework (PHP)## 2 | 3 | The why, what and how can be found here: 4 | [Pete Info](../Readme.md) 5 | 6 | This is a simple Phalcon (v 2.0.8) app with some Volt templates and a view to display some images. 7 | The goal is to compare the performance of this framework with other frameworks, see above linked Readme. 8 | 9 | ### How to run ### 10 | 1. Make sure you have the Phalcon Extension installed, see official website 11 | 2. Clone this repository 12 | 3. Visit http://ip-or-host.tld/gallery 13 | 14 | * Official website: https://phalconphp.com/en -------------------------------------------------------------------------------- /phalcon/app/controllers/GalleryController.php: -------------------------------------------------------------------------------- 1 | "https://flic.kr/p/9Yd37s", 11 | "pete_2" => "https://flic.kr/p/xjFhnR", 12 | "pete_3" => "https://flic.kr/p/nVP5fh", 13 | "pete_4" => "https://flic.kr/p/vvC6hq" 14 | ]; 15 | 16 | $this->view->images = $images; 17 | } 18 | } -------------------------------------------------------------------------------- /phalcon/app/controllers/IndexController.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | Image source: {{ url }} 4 | -------------------------------------------------------------------------------- /phalcon/app/views/gallery/index.html: -------------------------------------------------------------------------------- 1 | {% extends "app.html" %} 2 | 3 | {% block content %} 4 |
5 |

PeTe Gallery

6 |
7 | 12 | {% endblock %} -------------------------------------------------------------------------------- /phalcon/app/views/index/index.html: -------------------------------------------------------------------------------- 1 |

Hello World!

-------------------------------------------------------------------------------- /phalcon/cache/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore -------------------------------------------------------------------------------- /phalcon/public/assets/images/copyright.md: -------------------------------------------------------------------------------- 1 | Images used for this demo are under creative commons license: 2 | https://creativecommons.org/licenses/by/2.0/ 3 | 4 | Links to the authors and images: 5 | pete_1.jpg: https://flic.kr/p/9Yd37s 6 | Author: Ben Ferenchak 7 | 8 | pete_2.jpg: https://flic.kr/p/xjFhnR 9 | Author: Douglas Scortegagna 10 | 11 | pete_3.jpg: https://flic.kr/p/nVP5fh 12 | Author: Simon Thois Photography 13 | 14 | pete_4.jpg: https://flic.kr/p/vvC6hq 15 | Author: Jaden Maru -------------------------------------------------------------------------------- /phalcon/public/assets/images/pete_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndeet/pete/7ee4ccfe7e1299807b075c59630a36838593b41a/phalcon/public/assets/images/pete_1.jpg -------------------------------------------------------------------------------- /phalcon/public/assets/images/pete_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndeet/pete/7ee4ccfe7e1299807b075c59630a36838593b41a/phalcon/public/assets/images/pete_2.jpg -------------------------------------------------------------------------------- /phalcon/public/assets/images/pete_3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndeet/pete/7ee4ccfe7e1299807b075c59630a36838593b41a/phalcon/public/assets/images/pete_3.jpg -------------------------------------------------------------------------------- /phalcon/public/assets/images/pete_4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndeet/pete/7ee4ccfe7e1299807b075c59630a36838593b41a/phalcon/public/assets/images/pete_4.jpg -------------------------------------------------------------------------------- /phoenix/config/prod.secret.exs: -------------------------------------------------------------------------------- 1 | use Mix.Config 2 | 3 | # In this file, we keep production configuration that 4 | # you likely want to automate and keep it away from 5 | # your version control system. 6 | config :pete_phoenix, PetePhoenix.Endpoint, 7 | secret_key_base: "CMZTPQcD/iyW9dVz+HXcOg1RRiBBC51UVcj9OSkoCuFtYgxVROlfWF/yD1xcPLdS" 8 | 9 | # Configure your database 10 | config :pete_phoenix, PetePhoenix.Repo, 11 | adapter: Ecto.Adapters.Postgres, 12 | username: "postgres", 13 | password: "postgres", 14 | database: "pete_phoenix_prod", 15 | pool_size: 20 16 | -------------------------------------------------------------------------------- /phoenix/config/test.exs: -------------------------------------------------------------------------------- 1 | use Mix.Config 2 | 3 | # We don't run a server during test. If one is required, 4 | # you can enable the server option below. 5 | config :pete_phoenix, PetePhoenix.Endpoint, 6 | http: [port: 4001], 7 | server: false 8 | 9 | # Print only warnings and errors during test 10 | config :logger, level: :warn 11 | 12 | # Configure your database 13 | config :pete_phoenix, PetePhoenix.Repo, 14 | adapter: Ecto.Adapters.Postgres, 15 | username: "postgres", 16 | password: "postgres", 17 | database: "pete_phoenix_test", 18 | hostname: "localhost", 19 | pool: Ecto.Adapters.SQL.Sandbox 20 | -------------------------------------------------------------------------------- /phoenix/lib/pete_phoenix/repo.ex: -------------------------------------------------------------------------------- 1 | defmodule PetePhoenix.Repo do 2 | use Ecto.Repo, otp_app: :pete_phoenix 3 | end 4 | -------------------------------------------------------------------------------- /phoenix/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "repository": { 3 | }, 4 | "dependencies": { 5 | "babel-brunch": "^6.0.0", 6 | "brunch": "^2.0.0", 7 | "clean-css-brunch": ">= 1.0 < 1.8", 8 | "css-brunch": ">= 1.0 < 1.8", 9 | "javascript-brunch": ">= 1.0 < 1.8", 10 | "uglify-js-brunch": ">= 1.0 < 1.8" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /phoenix/priv/repo/seeds.exs: -------------------------------------------------------------------------------- 1 | # Script for populating the database. You can run it as: 2 | # 3 | # mix run priv/repo/seeds.exs 4 | # 5 | # Inside the script, you can read and write to any of your 6 | # repositories directly: 7 | # 8 | # PetePhoenix.Repo.insert!(%PetePhoenix.SomeModel{}) 9 | # 10 | # We recommend using the bang functions (`insert!`, `update!` 11 | # and so on) as they will fail if something goes wrong. 12 | -------------------------------------------------------------------------------- /phoenix/priv/static/css/app.css: -------------------------------------------------------------------------------- 1 | body{font-family:"Lucida Grande",Verdana,sans-serif}.container{max-width:1024px;margin:0 auto;padding:10px}.image{margin-bottom:20px}.image img{width:100%;height:auto;min-height:215px}footer{margin-top:30px}@media (min-width:800px){.gallery-container{display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.gallery-container>.image{-webkit-flex:1 0 48%;-ms-flex:1 0 48%;flex:1 0 48%;padding-right:2%}} -------------------------------------------------------------------------------- /phoenix/priv/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndeet/pete/7ee4ccfe7e1299807b075c59630a36838593b41a/phoenix/priv/static/favicon.ico -------------------------------------------------------------------------------- /phoenix/priv/static/images/copyright.md: -------------------------------------------------------------------------------- 1 | Images used for this demo are under creative commons license: 2 | https://creativecommons.org/licenses/by/2.0/ 3 | 4 | Links to the authors and images: 5 | pete_1.jpg: https://flic.kr/p/9Yd37s 6 | Author: Ben Ferenchak 7 | 8 | pete_2.jpg: https://flic.kr/p/xjFhnR 9 | Author: Douglas Scortegagna 10 | 11 | pete_3.jpg: https://flic.kr/p/nVP5fh 12 | Author: Simon Thois Photography 13 | 14 | pete_4.jpg: https://flic.kr/p/vvC6hq 15 | Author: Jaden Maru -------------------------------------------------------------------------------- /phoenix/priv/static/images/pete_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndeet/pete/7ee4ccfe7e1299807b075c59630a36838593b41a/phoenix/priv/static/images/pete_1.jpg -------------------------------------------------------------------------------- /phoenix/priv/static/images/pete_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndeet/pete/7ee4ccfe7e1299807b075c59630a36838593b41a/phoenix/priv/static/images/pete_2.jpg -------------------------------------------------------------------------------- /phoenix/priv/static/images/pete_3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndeet/pete/7ee4ccfe7e1299807b075c59630a36838593b41a/phoenix/priv/static/images/pete_3.jpg -------------------------------------------------------------------------------- /phoenix/priv/static/images/pete_4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndeet/pete/7ee4ccfe7e1299807b075c59630a36838593b41a/phoenix/priv/static/images/pete_4.jpg -------------------------------------------------------------------------------- /phoenix/priv/static/images/phoenix.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndeet/pete/7ee4ccfe7e1299807b075c59630a36838593b41a/phoenix/priv/static/images/phoenix.png -------------------------------------------------------------------------------- /phoenix/priv/static/robots.txt: -------------------------------------------------------------------------------- 1 | # See http://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file 2 | # 3 | # To ban all spiders from the entire site uncomment the next two lines: 4 | # User-agent: * 5 | # Disallow: / 6 | -------------------------------------------------------------------------------- /phoenix/test/controllers/page_controller_test.exs: -------------------------------------------------------------------------------- 1 | defmodule PetePhoenix.PageControllerTest do 2 | use PetePhoenix.ConnCase 3 | 4 | test "GET /", %{conn: conn} do 5 | conn = get conn, "/" 6 | assert html_response(conn, 200) =~ "Welcome to Phoenix!" 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /phoenix/test/test_helper.exs: -------------------------------------------------------------------------------- 1 | ExUnit.start 2 | 3 | Mix.Task.run "ecto.create", ["--quiet"] 4 | Mix.Task.run "ecto.migrate", ["--quiet"] 5 | Ecto.Adapters.SQL.begin_test_transaction(PetePhoenix.Repo) 6 | 7 | -------------------------------------------------------------------------------- /phoenix/test/views/layout_view_test.exs: -------------------------------------------------------------------------------- 1 | defmodule PetePhoenix.LayoutViewTest do 2 | use PetePhoenix.ConnCase, async: true 3 | end -------------------------------------------------------------------------------- /phoenix/test/views/page_view_test.exs: -------------------------------------------------------------------------------- 1 | defmodule PetePhoenix.PageViewTest do 2 | use PetePhoenix.ConnCase, async: true 3 | end 4 | -------------------------------------------------------------------------------- /phoenix/web/controllers/gallery_controller.ex: -------------------------------------------------------------------------------- 1 | defmodule PetePhoenix.GalleryController do 2 | use PetePhoenix.Web, :controller 3 | 4 | def index(conn, _params) do 5 | render conn, "index.html" 6 | end 7 | end -------------------------------------------------------------------------------- /phoenix/web/controllers/page_controller.ex: -------------------------------------------------------------------------------- 1 | defmodule PetePhoenix.PageController do 2 | use PetePhoenix.Web, :controller 3 | 4 | def index(conn, _params) do 5 | render conn, "index.html" 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /phoenix/web/router.ex: -------------------------------------------------------------------------------- 1 | defmodule PetePhoenix.Router do 2 | use PetePhoenix.Web, :router 3 | 4 | pipeline :browser do 5 | plug :accepts, ["html"] 6 | end 7 | 8 | pipeline :api do 9 | plug :accepts, ["json"] 10 | end 11 | 12 | scope "/", PetePhoenix do 13 | pipe_through :browser # Use the default browser stack 14 | 15 | get "/", PageController, :index 16 | resources "gallery", GalleryController, only: [:index, :show] 17 | end 18 | 19 | # Other scopes may use custom stacks. 20 | # scope "/api", PetePhoenix do 21 | # pipe_through :api 22 | # end 23 | end 24 | -------------------------------------------------------------------------------- /phoenix/web/static/assets/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndeet/pete/7ee4ccfe7e1299807b075c59630a36838593b41a/phoenix/web/static/assets/favicon.ico -------------------------------------------------------------------------------- /phoenix/web/static/assets/images/copyright.md: -------------------------------------------------------------------------------- 1 | Images used for this demo are under creative commons license: 2 | https://creativecommons.org/licenses/by/2.0/ 3 | 4 | Links to the authors and images: 5 | pete_1.jpg: https://flic.kr/p/9Yd37s 6 | Author: Ben Ferenchak 7 | 8 | pete_2.jpg: https://flic.kr/p/xjFhnR 9 | Author: Douglas Scortegagna 10 | 11 | pete_3.jpg: https://flic.kr/p/nVP5fh 12 | Author: Simon Thois Photography 13 | 14 | pete_4.jpg: https://flic.kr/p/vvC6hq 15 | Author: Jaden Maru -------------------------------------------------------------------------------- /phoenix/web/static/assets/images/pete_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndeet/pete/7ee4ccfe7e1299807b075c59630a36838593b41a/phoenix/web/static/assets/images/pete_1.jpg -------------------------------------------------------------------------------- /phoenix/web/static/assets/images/pete_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndeet/pete/7ee4ccfe7e1299807b075c59630a36838593b41a/phoenix/web/static/assets/images/pete_2.jpg -------------------------------------------------------------------------------- /phoenix/web/static/assets/images/pete_3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndeet/pete/7ee4ccfe7e1299807b075c59630a36838593b41a/phoenix/web/static/assets/images/pete_3.jpg -------------------------------------------------------------------------------- /phoenix/web/static/assets/images/pete_4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndeet/pete/7ee4ccfe7e1299807b075c59630a36838593b41a/phoenix/web/static/assets/images/pete_4.jpg -------------------------------------------------------------------------------- /phoenix/web/static/assets/images/phoenix.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndeet/pete/7ee4ccfe7e1299807b075c59630a36838593b41a/phoenix/web/static/assets/images/phoenix.png -------------------------------------------------------------------------------- /phoenix/web/static/assets/robots.txt: -------------------------------------------------------------------------------- 1 | # See http://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file 2 | # 3 | # To ban all spiders from the entire site uncomment the next two lines: 4 | # User-agent: * 5 | # Disallow: / 6 | -------------------------------------------------------------------------------- /phoenix/web/templates/gallery/image.html.eex: -------------------------------------------------------------------------------- 1 |
2 | " /> 3 | Image source: <%= elem(@image, 1) %> 4 |
5 | -------------------------------------------------------------------------------- /phoenix/web/templates/gallery/index.html.eex: -------------------------------------------------------------------------------- 1 |
2 |

PeTe Gallery

3 |
4 | 9 | -------------------------------------------------------------------------------- /phoenix/web/views/error_view.ex: -------------------------------------------------------------------------------- 1 | defmodule PetePhoenix.ErrorView do 2 | use PetePhoenix.Web, :view 3 | 4 | def render("404.html", _assigns) do 5 | "Page not found" 6 | end 7 | 8 | def render("500.html", _assigns) do 9 | "Server internal error" 10 | end 11 | 12 | # In case no render clause matches or no 13 | # template is found, let's render it as 500 14 | def template_not_found(_template, assigns) do 15 | render "500.html", assigns 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /phoenix/web/views/gallery_view.ex: -------------------------------------------------------------------------------- 1 | defmodule PetePhoenix.GalleryView do 2 | use PetePhoenix.Web, :view 3 | 4 | def images do 5 | [ 6 | {"pete_1", "https://flic.kr/p/9Yd37s"}, 7 | {"pete_2", "https://flic.kr/p/xjFhnR"}, 8 | {"pete_3", "https://flic.kr/p/nVP5fh"}, 9 | {"pete_4", "https://flic.kr/p/vvC6hq"} 10 | ] 11 | end 12 | 13 | end -------------------------------------------------------------------------------- /phoenix/web/views/layout_view.ex: -------------------------------------------------------------------------------- 1 | defmodule PetePhoenix.LayoutView do 2 | use PetePhoenix.Web, :view 3 | end 4 | -------------------------------------------------------------------------------- /phoenix/web/views/page_view.ex: -------------------------------------------------------------------------------- 1 | defmodule PetePhoenix.PageView do 2 | use PetePhoenix.Web, :view 3 | end 4 | -------------------------------------------------------------------------------- /slim/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndeet/pete/7ee4ccfe7e1299807b075c59630a36838593b41a/slim/.gitignore -------------------------------------------------------------------------------- /slim/Readme.md: -------------------------------------------------------------------------------- 1 | ##Pete Project: Slim Framework (PHP)## 2 | 3 | The why, what and how can be found here: 4 | [Pete Info](../Readme.md) 5 | 6 | This is a simple Slim app with some twig templates and a view to display some images. 7 | The goal is to compare the performance of this framework with a similar app using 8 | Phalcon Framework and written in Elixir, using Phoenix Framework. 9 | 10 | ### How to run ### 11 | 1. Clone this repository (all vendor commited, so ready to go) 12 | 2. Visit http://ip-or-host.tld/gallery 13 | 14 | * Official website: http://www.slimframework.com/ -------------------------------------------------------------------------------- /slim/assets/images/copyright.md: -------------------------------------------------------------------------------- 1 | Images used for this demo are under creative commons license: 2 | https://creativecommons.org/licenses/by/2.0/ 3 | 4 | Links to the authors and images: 5 | pete_1.jpg: https://flic.kr/p/9Yd37s 6 | Author: Ben Ferenchak 7 | 8 | pete_2.jpg: https://flic.kr/p/xjFhnR 9 | Author: Douglas Scortegagna 10 | 11 | pete_3.jpg: https://flic.kr/p/nVP5fh 12 | Author: Simon Thois Photography 13 | 14 | pete_4.jpg: https://flic.kr/p/vvC6hq 15 | Author: Jaden Maru -------------------------------------------------------------------------------- /slim/assets/images/pete_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndeet/pete/7ee4ccfe7e1299807b075c59630a36838593b41a/slim/assets/images/pete_1.jpg -------------------------------------------------------------------------------- /slim/assets/images/pete_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndeet/pete/7ee4ccfe7e1299807b075c59630a36838593b41a/slim/assets/images/pete_2.jpg -------------------------------------------------------------------------------- /slim/assets/images/pete_3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndeet/pete/7ee4ccfe7e1299807b075c59630a36838593b41a/slim/assets/images/pete_3.jpg -------------------------------------------------------------------------------- /slim/assets/images/pete_4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndeet/pete/7ee4ccfe7e1299807b075c59630a36838593b41a/slim/assets/images/pete_4.jpg -------------------------------------------------------------------------------- /slim/cache/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore -------------------------------------------------------------------------------- /slim/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "require": { 3 | "slim/slim": "^3.0", 4 | "slim/twig-view": "^2.0" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /slim/templates/gallery.html: -------------------------------------------------------------------------------- 1 | {% extends "app.html" %} 2 | 3 | {% block content %} 4 |
5 |

PeTe Gallery

6 |
7 | 12 | {% endblock %} -------------------------------------------------------------------------------- /slim/templates/image.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | Image source: {{ url }} 4 |
-------------------------------------------------------------------------------- /slim/vendor/autoload.php: -------------------------------------------------------------------------------- 1 | array($vendorDir . '/twig/twig/lib'), 10 | 'Pimple' => array($vendorDir . '/pimple/pimple/src'), 11 | ); 12 | -------------------------------------------------------------------------------- /slim/vendor/composer/autoload_psr4.php: -------------------------------------------------------------------------------- 1 | array($vendorDir . '/slim/twig-view/src'), 10 | 'Slim\\' => array($vendorDir . '/slim/slim/Slim'), 11 | 'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-message/src'), 12 | 'Interop\\Container\\' => array($vendorDir . '/container-interop/container-interop/src/Interop/Container'), 13 | 'FastRoute\\' => array($vendorDir . '/nikic/fast-route/src'), 14 | ); 15 | -------------------------------------------------------------------------------- /slim/vendor/container-interop/container-interop/.gitignore: -------------------------------------------------------------------------------- 1 | composer.lock 2 | composer.phar 3 | /vendor/ 4 | -------------------------------------------------------------------------------- /slim/vendor/container-interop/container-interop/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "container-interop/container-interop", 3 | "type": "library", 4 | "description": "Promoting the interoperability of container objects (DIC, SL, etc.)", 5 | "license": "MIT", 6 | "autoload": { 7 | "psr-4": { 8 | "Interop\\Container\\": "src/Interop/Container/" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /slim/vendor/container-interop/container-interop/docs/images/interoperating_containers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndeet/pete/7ee4ccfe7e1299807b075c59630a36838593b41a/slim/vendor/container-interop/container-interop/docs/images/interoperating_containers.png -------------------------------------------------------------------------------- /slim/vendor/container-interop/container-interop/docs/images/priority.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndeet/pete/7ee4ccfe7e1299807b075c59630a36838593b41a/slim/vendor/container-interop/container-interop/docs/images/priority.png -------------------------------------------------------------------------------- /slim/vendor/container-interop/container-interop/docs/images/side_by_side_containers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndeet/pete/7ee4ccfe7e1299807b075c59630a36838593b41a/slim/vendor/container-interop/container-interop/docs/images/side_by_side_containers.png -------------------------------------------------------------------------------- /slim/vendor/container-interop/container-interop/src/Interop/Container/Exception/ContainerException.php: -------------------------------------------------------------------------------- 1 | =5.4.0" 14 | }, 15 | "autoload": { 16 | "psr-4": { 17 | "FastRoute\\": "src/" 18 | }, 19 | "files": ["src/functions.php"] 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /slim/vendor/nikic/fast-route/src/BadRouteException.php: -------------------------------------------------------------------------------- 1 | markTestSkipped('PHP 5.6 required for MARK support'); 10 | } 11 | } 12 | 13 | protected function getDispatcherClass() { 14 | return 'FastRoute\\Dispatcher\\MarkBased'; 15 | } 16 | 17 | protected function getDataGeneratorClass() { 18 | return 'FastRoute\\DataGenerator\\MarkBased'; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /slim/vendor/nikic/fast-route/test/bootstrap.php: -------------------------------------------------------------------------------- 1 | = 5.3 4 | * Not tested under Windows, might work 5 | 6 | Install 7 | ======= 8 | 9 | > phpize 10 | > ./configure 11 | > make 12 | > make install 13 | -------------------------------------------------------------------------------- /slim/vendor/pimple/pimple/ext/pimple/config.w32: -------------------------------------------------------------------------------- 1 | // $Id$ 2 | // vim:ft=javascript 3 | 4 | // If your extension references something external, use ARG_WITH 5 | // ARG_WITH("pimple", "for pimple support", "no"); 6 | 7 | // Otherwise, use ARG_ENABLE 8 | // ARG_ENABLE("pimple", "enable pimple support", "no"); 9 | 10 | if (PHP_PIMPLE != "no") { 11 | EXTENSION("pimple", "pimple.c"); 12 | } 13 | 14 | -------------------------------------------------------------------------------- /slim/vendor/pimple/pimple/ext/pimple/tests/002.phpt: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Test for constructor 3 | --SKIPIF-- 4 | 5 | --FILE-- 6 | 'foo')); 11 | var_dump($p[42]); 12 | ?> 13 | --EXPECT-- 14 | NULL 15 | string(3) "foo" 16 | -------------------------------------------------------------------------------- /slim/vendor/pimple/pimple/ext/pimple/tests/003.phpt: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Test empty dimensions 3 | --SKIPIF-- 4 | 5 | --FILE-- 6 | 14 | --EXPECT-- 15 | int(42) 16 | string(3) "bar" -------------------------------------------------------------------------------- /slim/vendor/pimple/pimple/ext/pimple/tests/005.phpt: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Test simple class inheritance 3 | --SKIPIF-- 4 | 5 | --FILE-- 6 | someAttr; 23 | ?> 24 | --EXPECT-- 25 | string(3) "hit" 26 | foo 27 | fooAttr -------------------------------------------------------------------------------- /slim/vendor/pimple/pimple/ext/pimple/tests/007.phpt: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Test for read_dim/write_dim handlers 3 | --SKIPIF-- 4 | 5 | --FILE-- 6 | 20 | --EXPECTF-- 21 | foo 22 | 42 -------------------------------------------------------------------------------- /slim/vendor/pimple/pimple/ext/pimple/tests/008.phpt: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Test frozen services 3 | --SKIPIF-- 4 | 5 | --FILE-- 6 | 29 | --EXPECTF-- 30 | -------------------------------------------------------------------------------- /slim/vendor/pimple/pimple/ext/pimple/tests/009.phpt: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Test service is called as callback, and only once 3 | --SKIPIF-- 4 | 5 | --FILE-- 6 | 12 | --EXPECTF-- 13 | bool(true) -------------------------------------------------------------------------------- /slim/vendor/pimple/pimple/ext/pimple/tests/011.phpt: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Test service callback throwing an exception 3 | --SKIPIF-- 4 | 5 | --FILE-- 6 | 18 | --EXPECTF-- 19 | all right! -------------------------------------------------------------------------------- /slim/vendor/pimple/pimple/ext/pimple/tests/012.phpt: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Test service factory 3 | --SKIPIF-- 4 | 5 | --FILE-- 6 | factory($f = function() { var_dump('called-1'); return 'ret-1';}); 11 | 12 | $p[] = $f; 13 | 14 | $p[] = function () { var_dump('called-2'); return 'ret-2'; }; 15 | 16 | var_dump($p[0]); 17 | var_dump($p[0]); 18 | var_dump($p[1]); 19 | var_dump($p[1]); 20 | ?> 21 | --EXPECTF-- 22 | string(8) "called-1" 23 | string(5) "ret-1" 24 | string(8) "called-1" 25 | string(5) "ret-1" 26 | string(8) "called-2" 27 | string(5) "ret-2" 28 | string(5) "ret-2" -------------------------------------------------------------------------------- /slim/vendor/pimple/pimple/ext/pimple/tests/013.phpt: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Test keys() 3 | --SKIPIF-- 4 | 5 | --FILE-- 6 | keys()); 11 | 12 | $p['foo'] = 'bar'; 13 | $p[] = 'foo'; 14 | 15 | var_dump($p->keys()); 16 | 17 | unset($p['foo']); 18 | 19 | var_dump($p->keys()); 20 | ?> 21 | --EXPECTF-- 22 | array(0) { 23 | } 24 | array(2) { 25 | [0]=> 26 | string(3) "foo" 27 | [1]=> 28 | int(0) 29 | } 30 | array(1) { 31 | [0]=> 32 | int(0) 33 | } -------------------------------------------------------------------------------- /slim/vendor/pimple/pimple/ext/pimple/tests/014.phpt: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Test raw() 3 | --SKIPIF-- 4 | 5 | --FILE-- 6 | raw('foo')); 16 | var_dump($p[42]); 17 | 18 | unset($p['foo']); 19 | 20 | try { 21 | $p->raw('foo'); 22 | echo "expected exception"; 23 | } catch (InvalidArgumentException $e) { } 24 | --EXPECTF-- 25 | string(8) "called-2" 26 | string(5) "ret-2" 27 | object(Closure)#%i (0) { 28 | } 29 | string(8) "called-2" 30 | string(5) "ret-2" -------------------------------------------------------------------------------- /slim/vendor/pimple/pimple/ext/pimple/tests/015.phpt: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Test protect() 3 | --SKIPIF-- 4 | 5 | --FILE-- 6 | protect($f); 13 | 14 | var_dump($p['foo']); 15 | --EXPECTF-- 16 | object(Closure)#%i (0) { 17 | } -------------------------------------------------------------------------------- /slim/vendor/pimple/pimple/ext/pimple/tests/017.phpt: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Test extend() with exception in service extension 3 | --SKIPIF-- 4 | 5 | --FILE-- 6 | extend(12, function ($w) { throw new BadMethodCallException; }); 12 | 13 | try { 14 | $p[12]; 15 | echo "Exception expected"; 16 | } catch (BadMethodCallException $e) { } 17 | --EXPECTF-- 18 | -------------------------------------------------------------------------------- /slim/vendor/pimple/pimple/ext/pimple/tests/017_1.phpt: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Test extend() with exception in service factory 3 | --SKIPIF-- 4 | 5 | --FILE-- 6 | extend(12, function ($w) { return 'foobar'; }); 12 | 13 | try { 14 | $p[12]; 15 | echo "Exception expected"; 16 | } catch (BadMethodCallException $e) { } 17 | --EXPECTF-- 18 | -------------------------------------------------------------------------------- /slim/vendor/pimple/pimple/ext/pimple/tests/018.phpt: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Test register() 3 | --SKIPIF-- 4 | 5 | --FILE-- 6 | register(new Foo, array(42 => 'bar')); 18 | 19 | var_dump($p[42]); 20 | --EXPECTF-- 21 | object(Pimple\Container)#1 (0) { 22 | } 23 | string(3) "bar" -------------------------------------------------------------------------------- /slim/vendor/pimple/pimple/ext/pimple/tests/019.phpt: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Test register() returns static and is a fluent interface 3 | --SKIPIF-- 4 | 5 | --FILE-- 6 | register(new Foo)); 17 | --EXPECTF-- 18 | bool(true) 19 | -------------------------------------------------------------------------------- /slim/vendor/pimple/pimple/ext/pimple/tests/bench_shared.phpb: -------------------------------------------------------------------------------- 1 | 26 | -------------------------------------------------------------------------------- /slim/vendor/pimple/pimple/phpunit.xml.dist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | 11 | ./src/Pimple/Tests 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /slim/vendor/psr/http-message/README.md: -------------------------------------------------------------------------------- 1 | PSR Http Message 2 | ================ 3 | 4 | This repository holds all interfaces/classes/traits related to 5 | [PSR-7](http://www.php-fig.org/psr/psr-7/). 6 | 7 | Note that this is not a HTTP message implementation of its own. It is merely an 8 | interface that describes a HTTP message. See the specification for more details. 9 | 10 | Usage 11 | ----- 12 | 13 | We'll certainly need some stuff in here. -------------------------------------------------------------------------------- /slim/vendor/slim/slim/.codeclimate.yml: -------------------------------------------------------------------------------- 1 | languages: 2 | PHP: true 3 | exclude_paths: 4 | - "tests/*" 5 | -------------------------------------------------------------------------------- /slim/vendor/slim/slim/.coveralls.yml: -------------------------------------------------------------------------------- 1 | service_name: travis-ci 2 | src_dir: Slim 3 | -------------------------------------------------------------------------------- /slim/vendor/slim/slim/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | composer.lock 3 | phpunit.xml 4 | vendor 5 | .idea 6 | clover.xml 7 | -------------------------------------------------------------------------------- /slim/vendor/slim/slim/Slim/Exception/ContainerValueNotFoundException.php: -------------------------------------------------------------------------------- 1 | write('In1'); 19 | $res = $next($req, $res); 20 | $res->write('Out1'); 21 | 22 | return $res; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /slim/vendor/slim/slim/tests/bootstrap.php: -------------------------------------------------------------------------------- 1 | addPsr4('Slim\Tests\\', __DIR__); 17 | -------------------------------------------------------------------------------- /slim/vendor/slim/twig-view/.gitignore: -------------------------------------------------------------------------------- 1 | composer.lock 2 | vendor 3 | -------------------------------------------------------------------------------- /slim/vendor/slim/twig-view/.travis.yml: -------------------------------------------------------------------------------- 1 | language: php 2 | 3 | php: 4 | - 5.5 5 | - 5.6 6 | - 7.0 7 | - hhvm 8 | 9 | before_script: composer install 10 | 11 | script: phpunit --coverage-text --configuration phpunit.xml.dist 12 | -------------------------------------------------------------------------------- /slim/vendor/slim/twig-view/tests/templates/example.html: -------------------------------------------------------------------------------- 1 |

Hi, my name is {{ name }}.

2 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | /composer.lock 3 | /ext/twig/autom4te.cache/ 4 | /phpunit.xml 5 | /vendor 6 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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. It supports Traversable objects by transforming 16 | those to arrays. 17 | 18 | .. _`asort`: http://php.net/asort 19 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/doc/tags/flush.rst: -------------------------------------------------------------------------------- 1 | ``flush`` 2 | ========= 3 | 4 | .. versionadded:: 1.5 5 | The flush tag was added in Twig 1.5. 6 | 7 | The ``flush`` tag tells Twig to flush the output buffer: 8 | 9 | .. code-block:: jinja 10 | 11 | {% flush %} 12 | 13 | .. note:: 14 | 15 | Internally, Twig uses the PHP `flush`_ function. 16 | 17 | .. _`flush`: http://php.net/flush 18 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/lib/Twig/Error/Runtime.php: -------------------------------------------------------------------------------- 1 | 17 | */ 18 | class Twig_Error_Runtime extends Twig_Error 19 | { 20 | } 21 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/lib/Twig/Extension/GlobalsInterface.php: -------------------------------------------------------------------------------- 1 | 19 | */ 20 | interface Twig_Extension_GlobalsInterface 21 | { 22 | } 23 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/lib/Twig/Extension/InitRuntimeInterface.php: -------------------------------------------------------------------------------- 1 | 19 | */ 20 | interface Twig_Extension_InitRuntimeInterface 21 | { 22 | } 23 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/lib/Twig/FilterCallableInterface.php: -------------------------------------------------------------------------------- 1 | 18 | * 19 | * @deprecated since 1.12 (to be removed in 2.0) 20 | */ 21 | interface Twig_FilterCallableInterface 22 | { 23 | public function getCallable(); 24 | } 25 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/lib/Twig/FunctionCallableInterface.php: -------------------------------------------------------------------------------- 1 | 18 | * 19 | * @deprecated since 1.12 (to be removed in 2.0) 20 | */ 21 | interface Twig_FunctionCallableInterface 22 | { 23 | public function getCallable(); 24 | } 25 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/lib/Twig/Node/Body.php: -------------------------------------------------------------------------------- 1 | 16 | */ 17 | class Twig_Node_Body extends Twig_Node 18 | { 19 | } 20 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/lib/Twig/Node/Expression.php: -------------------------------------------------------------------------------- 1 | 17 | */ 18 | abstract class Twig_Node_Expression extends Twig_Node 19 | { 20 | } 21 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/lib/Twig/Node/Expression/AssignName.php: -------------------------------------------------------------------------------- 1 | raw('$context[') 19 | ->string($this->getAttribute('name')) 20 | ->raw(']') 21 | ; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Add.php: -------------------------------------------------------------------------------- 1 | raw('+'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/lib/Twig/Node/Expression/Binary/And.php: -------------------------------------------------------------------------------- 1 | raw('&&'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/lib/Twig/Node/Expression/Binary/BitwiseAnd.php: -------------------------------------------------------------------------------- 1 | raw('&'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/lib/Twig/Node/Expression/Binary/BitwiseOr.php: -------------------------------------------------------------------------------- 1 | raw('|'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/lib/Twig/Node/Expression/Binary/BitwiseXor.php: -------------------------------------------------------------------------------- 1 | raw('^'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Concat.php: -------------------------------------------------------------------------------- 1 | raw('.'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Div.php: -------------------------------------------------------------------------------- 1 | raw('/'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Equal.php: -------------------------------------------------------------------------------- 1 | raw('=='); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Greater.php: -------------------------------------------------------------------------------- 1 | raw('>'); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/lib/Twig/Node/Expression/Binary/GreaterEqual.php: -------------------------------------------------------------------------------- 1 | raw('>='); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Less.php: -------------------------------------------------------------------------------- 1 | raw('<'); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/lib/Twig/Node/Expression/Binary/LessEqual.php: -------------------------------------------------------------------------------- 1 | raw('<='); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Mod.php: -------------------------------------------------------------------------------- 1 | raw('%'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Mul.php: -------------------------------------------------------------------------------- 1 | raw('*'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/lib/Twig/Node/Expression/Binary/NotEqual.php: -------------------------------------------------------------------------------- 1 | raw('!='); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Or.php: -------------------------------------------------------------------------------- 1 | raw('||'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Sub.php: -------------------------------------------------------------------------------- 1 | raw('-'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/lib/Twig/Node/Expression/Unary/Neg.php: -------------------------------------------------------------------------------- 1 | raw('-'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/lib/Twig/Node/Expression/Unary/Not.php: -------------------------------------------------------------------------------- 1 | raw('!'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/lib/Twig/Node/Expression/Unary/Pos.php: -------------------------------------------------------------------------------- 1 | raw('+'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/lib/Twig/NodeOutputInterface.php: -------------------------------------------------------------------------------- 1 | 16 | */ 17 | interface Twig_NodeOutputInterface 18 | { 19 | } 20 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/lib/Twig/Sandbox/SecurityError.php: -------------------------------------------------------------------------------- 1 | 16 | */ 17 | class Twig_Sandbox_SecurityError extends Twig_Error 18 | { 19 | } 20 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/lib/Twig/TestCallableInterface.php: -------------------------------------------------------------------------------- 1 | 16 | * 17 | * @deprecated since 1.12 (to be removed in 2.0) 18 | */ 19 | interface Twig_TestCallableInterface 20 | { 21 | public function getCallable(); 22 | } 23 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/lib/Twig/TestInterface.php: -------------------------------------------------------------------------------- 1 | 16 | * 17 | * @deprecated since 1.12 (to be removed in 2.0) 18 | */ 19 | interface Twig_TestInterface 20 | { 21 | /** 22 | * Compiles a test. 23 | * 24 | * @return string The PHP code for the test 25 | */ 26 | public function compile(); 27 | } 28 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/lib/Twig/Util/TemplateDirIterator.php: -------------------------------------------------------------------------------- 1 | 14 | */ 15 | class Twig_Util_TemplateDirIterator extends IteratorIterator 16 | { 17 | public function current() 18 | { 19 | return file_get_contents(parent::current()); 20 | } 21 | 22 | public function key() 23 | { 24 | return (string) parent::key(); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/test/Twig/Tests/Fixtures/errors/base.html: -------------------------------------------------------------------------------- 1 | {% block content %}{% endblock %} 2 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/multiline_tag_with_undefined_variable.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Exception for multiline tag with undefined variable 3 | --TEMPLATE-- 4 | {% include 'foo' 5 | with vars 6 | %} 7 | --TEMPLATE(foo)-- 8 | Foo 9 | --DATA-- 10 | return array() 11 | --EXCEPTION-- 12 | Twig_Error_Runtime: Variable "vars" does not exist in "index.twig" at line 3 13 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/syntax_error_in_reused_template.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Exception for syntax error in reused template 3 | --TEMPLATE-- 4 | {% use 'foo.twig' %} 5 | --TEMPLATE(foo.twig)-- 6 | {% block bar %} 7 | {% do node.data = 5 %} 8 | {% endblock %} 9 | --EXCEPTION-- 10 | Twig_Error_Syntax: Unexpected token "operator" of value "=" ("end of statement block" expected) in "foo.twig" at line 3. 11 | -------------------------------------------------------------------------------- /slim/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 "endblock" tag (expecting closing tag for the "if" tag defined near line 4) in "index.twig" at line 16. 21 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/undefined_template_in_child_template.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Exception for an undefined template in a child template 3 | --TEMPLATE-- 4 | {% extends 'base.twig' %} 5 | 6 | {% block sidebar %} 7 | {{ include('include.twig') }} 8 | {% endblock %} 9 | --TEMPLATE(base.twig)-- 10 | {% block sidebar %} 11 | {% endblock %} 12 | --DATA-- 13 | return array() 14 | --EXCEPTION-- 15 | Twig_Error_Loader: Template "include.twig" is not defined in "index.twig" at line 5. 16 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/batch_with_keys.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "batch" filter preserves array keys 3 | --TEMPLATE-- 4 | {{ {'foo': 'bar', 'key': 'value'}|batch(4)|first|keys|join(',') }} 5 | {{ {'foo': 'bar', 'key': 'value'}|batch(4, 'fill')|first|keys|join(',') }} 6 | --DATA-- 7 | return array() 8 | --EXPECT-- 9 | foo,key 10 | foo,key,0,1 11 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/batch_with_zero_elements.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "batch" filter with zero elements 3 | --TEMPLATE-- 4 | {{ []|batch(3)|length }} 5 | {{ []|batch(3, 'fill')|length }} 6 | --DATA-- 7 | return array() 8 | --EXPECT-- 9 | 0 10 | 0 11 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/first.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "first" filter 3 | --TEMPLATE-- 4 | {{ [1, 2, 3, 4]|first }} 5 | {{ {a: 1, b: 2, c: 3, d: 4}|first }} 6 | {{ '1234'|first }} 7 | {{ arr|first }} 8 | {{ 'Ä€é'|first }} 9 | {{ ''|first }} 10 | --DATA-- 11 | return array('arr' => new ArrayObject(array(1, 2, 3, 4))) 12 | --EXPECT-- 13 | 1 14 | 1 15 | 1 16 | 1 17 | Ä 18 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | {{ traversable.a|merge(traversable.b)|join }} 10 | --DATA-- 11 | return array('items' => array('foo' => 'bar'), 'numerics' => array(1, 2, 3), 'traversable' => array('a' => new ArrayObject(array(0 => 1, 1 => 2, 2 => 3)), 'b' => new ArrayObject(array('a' => 'b')))) 12 | --EXPECT-- 13 | barfoo 14 | foobar 15 | foobar 16 | barfoo 17 | 123456 18 | 123b 19 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/replace.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "replace" filter 3 | --TEMPLATE-- 4 | {{ "I liké %this% and %that%."|replace({'%this%': "foo", '%that%': "bar"}) }} 5 | {{ 'I like single replace operation only %that%'|replace({'%that%' : '%that%1'}) }} 6 | {{ 'I like %this% and %that%.'|replace(traversable) }} 7 | --DATA-- 8 | return array('traversable' => new ArrayObject(array('%this%' => 'foo', '%that%' => 'bar'))) 9 | --EXPECT-- 10 | I liké foo and bar. 11 | I like single replace operation only %that%1 12 | I like foo and bar. 13 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/replace_invalid_arg.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Exception for invalid argument type in replace call 3 | --TEMPLATE-- 4 | {{ 'test %foo%'|replace(stdClass) }} 5 | --DATA-- 6 | return array('stdClass' => new stdClass()) 7 | --EXCEPTION-- 8 | Twig_Error_Runtime: The "replace" filter expects an array or "Traversable" as replace values, got "stdClass" in "index.twig" at line 2. 9 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | {{ traversable|sort|join }} 7 | --DATA-- 8 | return array('array1' => array(4, 1), 'array2' => array('foo', 'bar'), 'traversable' => new ArrayObject(array(0 => 3, 1 => 2, 2 => 1))) 9 | --EXPECT-- 10 | 14 11 | barfoo 12 | 123 13 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 -------------------------------------------------------------------------------- /slim/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 -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/sandbox_disabling.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "include" tag sandboxed 3 | --TEMPLATE-- 4 | {{ include("foo.twig", sandboxed = true) }} 5 | {{ include("bar.twig") }} 6 | --TEMPLATE(foo.twig)-- 7 | foo 8 | --TEMPLATE(bar.twig)-- 9 | {{ foo|e }} 10 | --DATA-- 11 | return array('foo' => 'bar
') 12 | --EXPECT-- 13 | foo 14 | 15 | 16 | bar<br /> 17 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/sandbox_disabling_ignore_missing.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "include" tag sandboxed 3 | --TEMPLATE-- 4 | {{ include("unknown.twig", sandboxed = true, ignore_missing = true) }} 5 | {{ include("bar.twig") }} 6 | --TEMPLATE(bar.twig)-- 7 | {{ foo|e }} 8 | --DATA-- 9 | return array('foo' => 'bar
') 10 | --EXPECT-- 11 | 12 | 13 | bar<br /> 14 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/test/Twig/Tests/Fixtures/macros/varargs.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | macro with arbitrary arguments 3 | --TEMPLATE-- 4 | {% from _self import test1, test2 %} 5 | 6 | {% macro test1(var) %} 7 | {{- var }}: {{ varargs|join(", ") }} 8 | {% endmacro %} 9 | 10 | {% macro test2() %} 11 | {{- varargs|join(", ") }} 12 | {% endmacro %} 13 | 14 | {{ test1("foo", "bar", "foobar") }} 15 | {{ test2("foo", "bar", "foobar") }} 16 | --DATA-- 17 | return array(); 18 | --EXPECT-- 19 | foo: bar, foobar 20 | 21 | foo, bar, foobar 22 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/test/Twig/Tests/Fixtures/macros/varargs_argument.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | macro with varargs argument 3 | --TEMPLATE-- 4 | {% macro test(varargs) %} 5 | {% endmacro %} 6 | --EXCEPTION-- 7 | Twig_Error_Syntax: The argument "varargs" in macro "test" cannot be defined because the variable "varargs" is reserved for arbitrary arguments in "index.twig" at line 2. 8 | 9 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/test/Twig/Tests/Fixtures/regression/empty_token.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Twig outputs 0 nodes correctly 3 | --TEMPLATE-- 4 | {{ foo }}0{{ foo }} 5 | --DATA-- 6 | return array('foo' => 'foo') 7 | --EXPECT-- 8 | foo0foo 9 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/strategy.legacy.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 | --DATA-- 8 | return array('var' => '
"') 9 | --EXPECT-- 10 | \x3Cbr\x20\x2F\x3E\x22 11 | <br />" 12 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/strategy.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "autoescape" tag accepts an escaping strategy 3 | --TEMPLATE-- 4 | {% autoescape 'js' %}{{ var }}{% endautoescape %} 5 | 6 | {% autoescape 'html' %}{{ var }}{% endautoescape %} 7 | --DATA-- 8 | return array('var' => '
"') 9 | --EXPECT-- 10 | \x3Cbr\x20\x2F\x3E\x22 11 | <br />" 12 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/from_with_reserved_name.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "from" tag with reserved name 3 | --TEMPLATE-- 4 | {% from 'forms.twig' import templateName %} 5 | --TEMPLATE(forms.twig)-- 6 | --DATA-- 7 | return array() 8 | --EXCEPTION-- 9 | Twig_Error_Syntax: "templateName" cannot be an imported macro as it is a reserved keyword in "index.twig" at line 2. 10 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/import_with_reserved_nam.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "from" tag with reserved name 3 | --TEMPLATE-- 4 | {% import 'forms.twig' as macros %} 5 | 6 | {{ macros.parent() }} 7 | --TEMPLATE(forms.twig)-- 8 | --DATA-- 9 | return array() 10 | --EXCEPTION-- 11 | Twig_Error_Syntax: "parent" cannot be called as macro as it is a reserved keyword in "index.twig" at line 4. 12 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/reserved_name.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "macro" tag with reserved name 3 | --TEMPLATE-- 4 | {% macro parent(arg1, arg2) %} 5 | parent 6 | {% endmacro %} 7 | --DATA-- 8 | return array() 9 | --EXCEPTION-- 10 | Twig_Error_Syntax: "parent" cannot be used as a macro name as it is a reserved keyword in "index.twig" at line 2. 11 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/raw/basic.legacy.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | "raw" tag 3 | --TEMPLATE-- 4 | {% raw %} 5 | {{ foo }} 6 | {% endraw %} 7 | --DATA-- 8 | return array() 9 | --EXPECT-- 10 | {{ foo }} 11 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/raw/mixed_usage_with_raw.legacy.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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 -------------------------------------------------------------------------------- /slim/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 -------------------------------------------------------------------------------- /slim/vendor/twig/twig/test/Twig/Tests/LegacyFixtures/test.legacy.test: -------------------------------------------------------------------------------- 1 | --TEST-- 2 | Old test classes usage 3 | --TEMPLATE-- 4 | {{ 'foo' is multi word ? 'yes' : 'no' }} 5 | --DATA-- 6 | return array() 7 | --EXPECT-- 8 | no 9 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/inheritance/parent.html.twig: -------------------------------------------------------------------------------- 1 | {% block body %}VALID{% endblock %} 2 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/inheritance/spare_parent.html.twig: -------------------------------------------------------------------------------- 1 | {% block body %}SPARE PARENT{% endblock %} 2 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/named/index.html: -------------------------------------------------------------------------------- 1 | named path 2 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/named_bis/index.html: -------------------------------------------------------------------------------- 1 | named path (bis) 2 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/named_final/index.html: -------------------------------------------------------------------------------- 1 | named path (final) 2 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/named_quater/named_absolute.html: -------------------------------------------------------------------------------- 1 | named path (quater) 2 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/named_ter/index.html: -------------------------------------------------------------------------------- 1 | named path (ter) 2 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/normal/index.html: -------------------------------------------------------------------------------- 1 | path 2 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/normal_bis/index.html: -------------------------------------------------------------------------------- 1 | path (bis) 2 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/normal_final/index.html: -------------------------------------------------------------------------------- 1 | path (final) 2 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/normal_ter/index.html: -------------------------------------------------------------------------------- 1 | path (ter) 2 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/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 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/test/Twig/Tests/Node/Expression/PHP53/FilterInclude.php: -------------------------------------------------------------------------------- 1 | addFilter(new Twig_SimpleFilter('anonymous', function () {})); 5 | 6 | return $env; 7 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/test/Twig/Tests/Node/Expression/PHP53/FunctionInclude.php: -------------------------------------------------------------------------------- 1 | addFunction(new Twig_SimpleFunction('anonymous', function () {})); 5 | 6 | return $env; 7 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/test/Twig/Tests/Node/Expression/PHP53/TestInclude.php: -------------------------------------------------------------------------------- 1 | addTest(new Twig_SimpleTest('anonymous', function () {})); 5 | 6 | return $env; 7 | -------------------------------------------------------------------------------- /slim/vendor/twig/twig/test/bootstrap.php: -------------------------------------------------------------------------------- 1 |