diff options
Diffstat (limited to 'php/template-test.php')
| -rw-r--r-- | php/template-test.php | 64 | 
1 files changed, 64 insertions, 0 deletions
| diff --git a/php/template-test.php b/php/template-test.php new file mode 100644 index 0000000..e7d5587 --- /dev/null +++ b/php/template-test.php @@ -0,0 +1,64 @@ +<?php + +error_reporting(E_ALL | E_STRICT); + +require 'template.php'; + +# build template string +$template_str = join("\n", array( +  # test basic templates +  "%{greet}, %{name}!", + +  # test filters and filters with parameters +  "Your name hashes to: %{ +      name +      | +      hash  +        sha1 +      | +      uc +    }", + +  # test custom filter +  "Your custom filtered name is: %{name|custom}", + +  # test custom filter with arguments +  "Your custom_args name is: %{name|custom_args foo bar baz}", + +  # test whitespace in filters +  "random test: %{name | hash sha512 | base64| uc }", + +  # test pluralize filter +  'pluralize test (0): %{count_0} item%{count_0 | s}', +  'pluralize test (1): %{count_1} item%{count_1 | s}', +  'pluralize test (10): %{count_10} item%{count_10 | s}', +)) . "\n"; + +Luigi\Filters::add(array( +  'custom' => function() { +    return 'custom'; +  }, + +  'custom_args' => function($v, $args) { +    return join(',', array_map(function($arg) use ($v) { +      return "$arg$v"; +    }, $args)); +  }, +)); + +# build template +$t = new Luigi\Template($template_str); + +$args = array( +  'greet'     => 'hello', +  'name'      => 'paul', +  'count_0'   => 0, +  'count_1'   => 1, +  'count_10'  => 10, +); + +# print results +echo $t->run($args); + +# test static invocation +echo Luigi\Template::run_once($template_str, $args); | 
