├── 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 |
6 | {{ range $key, $value := . }}
7 | {{ template "image" . }}
8 | {{ end }}
9 |
10 | {{ end }}
11 |
--------------------------------------------------------------------------------
/golang/views/image.html:
--------------------------------------------------------------------------------
1 | {{ define "image"}}
2 |
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 |
8 | {% for name,url in images %}
9 | {% include "gallery/image.html" %}
10 | {% endfor %}
11 |
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 |
5 |
--------------------------------------------------------------------------------
/phoenix/web/templates/gallery/index.html.eex:
--------------------------------------------------------------------------------
1 |
2 |
PeTe Gallery
3 |
4 |
5 | <%= for image <- images do %>
6 | <%= render "image.html", %{ conn: @conn, image: image} %>
7 | <% end %>
8 |
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 |
8 | {% for name,url in images %}
9 | {% include 'image.html' with {'name': name, 'url': url} %}
10 | {% endfor %}
11 |
12 | {% endblock %}
--------------------------------------------------------------------------------
/slim/templates/image.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/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 |
7 |
8 | {% endspaceless %}
9 | --DATA--
10 | return array()
11 | --EXPECT--
12 |
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 |