summaryrefslogtreecommitdiffstats
path: root/t
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2012-10-02 12:28:01 -0500
committerJesse Luehrs <doy@tozt.net>2012-10-02 12:28:01 -0500
commit09ed3913a9bf4059f7e7b72e2c9ee4488251979a (patch)
treeed1a1f549b378121f4046a21c0ec817fc51d5fdb /t
parent0722287d6c04831cdb40b64bae2ca55c24c2f555 (diff)
downloadtext-handlebars-09ed3913a9bf4059f7e7b72e2c9ee4488251979a.tar.gz
text-handlebars-09ed3913a9bf4059f7e7b72e2c9ee4488251979a.zip
& for mark_raw
Diffstat (limited to 't')
-rw-r--r--t/mustache-extra.t58
1 files changed, 58 insertions, 0 deletions
diff --git a/t/mustache-extra.t b/t/mustache-extra.t
new file mode 100644
index 0000000..ac28498
--- /dev/null
+++ b/t/mustache-extra.t
@@ -0,0 +1,58 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use Test::More;
+use Test::Fatal;
+
+use Text::Handlebars;
+
+render_ok(
+ <<'TEMPLATE',
+* {{name}}
+* {{age}}
+* {{company}}
+* {{& company}}
+TEMPLATE
+ {
+ name => 'Chris',
+ company => '<b>GitHub</b>',
+ },
+ <<'RENDERED',
+* Chris
+*
+* &lt;b&gt;GitHub&lt;/b&gt;
+* <b>GitHub</b>
+RENDERED
+ "& for make_raw"
+);
+
+sub render_ok {
+ local $Test::Builder::Level = $Test::Builder::Level + 1;
+ return _render_ok('render_string', @_);
+}
+
+sub render_file_ok {
+ local $Test::Builder::Level = $Test::Builder::Level + 1;
+ return _render_ok('render', @_);
+}
+
+sub _render_ok {
+ my $render_method = shift;
+ my $opts = ref($_[0]) && ref($_[0]) eq 'HASH' ? shift : {};
+ my ($template, $env, $expected, $desc) = @_;
+ local $Test::Builder::Level = $Test::Builder::Level + 1;
+
+ my $tx = Text::Handlebars->new(%$opts);
+
+ my $exception = exception {
+ is($tx->$render_method($template, $env), $expected, $desc);
+ };
+ fail("$desc (threw an exception)") if $exception;
+ is(
+ $exception,
+ undef,
+ "no exceptions for $desc"
+ );
+}
+
+done_testing;