summaryrefslogtreecommitdiff
path: root/php/template-test.php
diff options
context:
space:
mode:
Diffstat (limited to 'php/template-test.php')
-rw-r--r--php/template-test.php64
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);