File Coverage

blib/lib/Template/JavaScript.pm
Criterion Covered Total %
statement 9 11 81.8
branch n/a
condition n/a
subroutine 5 5 100.0
pod n/a
total 14 16 87.5


line stmt bran cond sub pod time code
1             package Template::JavaScript;
2             BEGIN {
3 5     5   244410 $Template::JavaScript::AUTHORITY = 'cpan:AVAR';
4             }
5             BEGIN {
6 5     5   106 $Template::JavaScript::VERSION = '0.01';
7             }
8             # vim: ft=perl ts=4 sw=4 et:
9              
10 5     5   96 use v5.010.1;
  5         21  
  5         250  
11 5     5   3820 use Any::Moose;
  5         228630  
  5         40  
12              
13             # For compiling our output
14 5     5   12133 use JavaScript::V8;
  0            
  0            
15              
16             # For generating our output
17             use Template;
18              
19             # Utility functions
20             use JavaScript::Value::Escape;
21              
22             =head1 NAME
23              
24             Template::JavaScript - A templating engine using the L module
25              
26             =head1 SYNOPSIS
27              
28             use Test::More qw( no_plan );
29             use Template::JavaScript;
30              
31             my $tj = Template::JavaScript->new();
32              
33             $tj->output( \my $out );
34              
35             $tj->tmpl_string( <<'' );
36             before
37             % for( var i = 3; i ; i-- ){
38             this is a loop
39             % }
40             after
41              
42             $tj->run;
43              
44             is( $out, <<'', 'can run simple JS code (loops)' );
45             before
46             this is a loop
47             this is a loop
48             this is a loop
49             after
50              
51             =head1 DESCRIPTION
52              
53             This is a very simple template to JavaScript compiler. We compile
54             either templates passed in as strings or as a file with L