package CatalystX::HelpText::Finder::TemplateToolkit;
use Moose;
use List::MoreUtils qw/ uniq /;
+use MooseX::Types::Moose qw/Str/;
use Template;
use namespace::autoclean;
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;
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,
use warnings;
use Test::More;
use_ok 'CatalystX::HelpText';
+use_ok 'CatalystX::HelpText::Script::SearchUndocumentedHelpText';
done_testing;
--- /dev/null
+fnar[% help_text('undocumented') %]fnee
--- /dev/null
+#!/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;
--- /dev/null
+#!/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;