added tests for scripts
Cinxgler Mariaca Minda [Tue, 11 Oct 2011 11:36:36 +0000 (12:36 +0100)]
lib/CatalystX/HelpText/Finder/TemplateToolkit.pm
lib/CatalystX/HelpText/Script/SearchUndocumentedHelpText.pm
t/00-load.t
t/lib/TestApp/root/undocumented [new file with mode: 0644]
t/script-tt2.t [new file with mode: 0644]
t/script.t [new file with mode: 0644]

index 077d470..07fcc8b 100644 (file)
@@ -1,6 +1,7 @@
 package CatalystX::HelpText::Finder::TemplateToolkit;
 use Moose;
 use List::MoreUtils qw/ uniq /;
+use MooseX::Types::Moose qw/Str/;
 use Template;
 use namespace::autoclean;
 
index 01ba939..c07d7ab 100644 (file)
@@ -7,6 +7,7 @@ use File::Find;
 use Data::Dumper;
 use Getopt::Long::Descriptive; # Force GLD as we override bits..
 use MooseX::Types::LoadableClass qw/ LoadableClass /;
+use Moose::Util::TypeConstraints qw/ duck_type /;
 use Template;
 use List::MoreUtils qw/ uniq /;
 use namespace::autoclean;
@@ -15,14 +16,22 @@ has finder_class => (
     isa => LoadableClass,
     coerce => 1,
     default => 'CatalystX::HelpText::Finder::TemplateToolkit',
-    handles => "_construct_finder",
+    handles => {
+        new_finder => 'new',
+    }
 );
 
+sub _construct_finder {
+    my $self = shift;
+    return $self->new_finder(@_);
+}
+
 has finder => (
     isa => duck_type([qw/ find_helptext_keys_in_fn /]),
     default => sub {
         my $self = shift;
-        $self->_construct_finder( # Args here
+        $self->_construct_finder(
+            template_search_dir => $self->template_search_dir
         );
     },
     lazy => 1,
index b56163f..82f2633 100644 (file)
@@ -4,5 +4,6 @@ use strict;
 use warnings;
 use Test::More;
 use_ok 'CatalystX::HelpText';
+use_ok 'CatalystX::HelpText::Script::SearchUndocumentedHelpText';
 
 done_testing;
diff --git a/t/lib/TestApp/root/undocumented b/t/lib/TestApp/root/undocumented
new file mode 100644 (file)
index 0000000..78a4f45
--- /dev/null
@@ -0,0 +1 @@
+fnar[% help_text('undocumented') %]fnee
diff --git a/t/script-tt2.t b/t/script-tt2.t
new file mode 100644 (file)
index 0000000..3154874
--- /dev/null
@@ -0,0 +1,20 @@
+#!/usr/bin/env perl
+
+use strict;
+use warnings;
+use Test::More;
+
+# setup library path
+use FindBin qw($Bin);
+use lib "$Bin/lib";
+
+use_ok 'CatalystX::HelpText::Finder::TemplateToolkit';
+my $path = "$Bin/lib/TestApp/root/";
+my $key = CatalystX::HelpText::Finder::TemplateToolkit->new(template_search_dir => "$path")->find_helptext_keys_in_fn("$path/main");
+is_deeply $key, ['fnoo'], 'key found';
+
+use_ok 'CatalystX::HelpText::Finder::TemplateToolkit::Regexp';
+$key = CatalystX::HelpText::Finder::TemplateToolkit->new(template_search_dir => "$path")->find_helptext_keys_in_fn("$path/main");
+is_deeply $key, ['fnoo'], 'key found';
+
+done_testing;
diff --git a/t/script.t b/t/script.t
new file mode 100644 (file)
index 0000000..49390bf
--- /dev/null
@@ -0,0 +1,35 @@
+#!/usr/bin/env perl
+
+use strict;
+use warnings;
+use Test::More;
+use Test::Exception;
+# setup library path
+use FindBin qw($Bin);
+use lib "$Bin/lib";
+use Data::Dumper;
+my $path = "$Bin/lib/TestApp/root/";
+
+use_ok 'CatalystX::HelpText::Script::SearchUndocumentedHelpText';
+my $script;
+lives_ok {
+    $script = CatalystX::HelpText::Script::SearchUndocumentedHelpText
+        ->new_with_options(
+            help_files_path => "$path/helptext",
+            template_search_dir => "$path",
+            finder_class => "CatalystX::HelpText::Finder::TemplateToolkit",
+            filename_pattern => '\W',
+        );
+} "don't break";
+
+my $files = [
+          $path.'undocumented',
+          $path.'main',
+          $path.'helptext/fnoo.html',
+        ];
+is_deeply $script->all_files, $files, "Files found";
+is_deeply $script->all_keys, [ 'undocumented', 'fnoo' ], "All keys found";
+is_deeply $script->undocumented_keys, [ 'undocumented' ], "undocumented keys found";
+is_deeply $script->documented_keys, [ 'fnoo' ], "documented keys found";
+
+done_testing;