summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2012-10-05 11:07:50 -0500
committerJesse Luehrs <doy@tozt.net>2012-10-05 11:07:50 -0500
commit2c554363ca25ff42fa6d9df7cd7093dd3d4b7f46 (patch)
treef959d6da47103afda00b48ef3e272354289c8d2b
parenta51757076642700537944f970c9274ceb65cf77d (diff)
downloadtext-handlebars-2c554363ca25ff42fa6d9df7cd7093dd3d4b7f46.tar.gz
text-handlebars-2c554363ca25ff42fa6d9df7cd7093dd3d4b7f46.zip
allow - in identifiers
-rw-r--r--lib/Text/Xslate/Syntax/Handlebars.pm2
-rw-r--r--t/expressions.t20
2 files changed, 21 insertions, 1 deletions
diff --git a/lib/Text/Xslate/Syntax/Handlebars.pm b/lib/Text/Xslate/Syntax/Handlebars.pm
index 4b88f4f..ba41940 100644
--- a/lib/Text/Xslate/Syntax/Handlebars.pm
+++ b/lib/Text/Xslate/Syntax/Handlebars.pm
@@ -19,7 +19,7 @@ my $OPERATOR_TOKEN = sprintf(
join('|', map{ quotemeta } qw(..))
);
-sub _build_identity_pattern { qr/[A-Za-z_][A-Za-z0-9_?]*/ }
+sub _build_identity_pattern { qr/[A-Za-z_][A-Za-z0-9_?-]*/ }
sub _build_comment_pattern { qr/\![^;]*/ }
sub _build_line_start { undef }
diff --git a/t/expressions.t b/t/expressions.t
index 0026dbe..8f48a5d 100644
--- a/t/expressions.t
+++ b/t/expressions.t
@@ -123,4 +123,24 @@ render_ok(
"nested current context"
);
+render_ok(
+ '{{foo-bar}}',
+ {
+ 'foo-bar' => "FOOBAR",
+ },
+ 'FOOBAR',
+ "- is a valid character"
+);
+
+render_ok(
+ '{{foo.foo-bar}}',
+ {
+ foo => {
+ 'foo-bar' => "FOOBAR",
+ },
+ },
+ 'FOOBAR',
+ "- is a valid character"
+);
+
done_testing;