aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/File/Cache/Parsed.pm5
-rw-r--r--t/fcp-01.t29
2 files changed, 34 insertions, 0 deletions
diff --git a/lib/File/Cache/Parsed.pm b/lib/File/Cache/Parsed.pm
new file mode 100644
index 0000000..0d0a52c
--- /dev/null
+++ b/lib/File/Cache/Parsed.pm
@@ -0,0 +1,5 @@
+package File::Cache::Parsed;
+use strict;
+use warnings;
+
+1;
diff --git a/t/fcp-01.t b/t/fcp-01.t
new file mode 100644
index 0000000..c14028b
--- /dev/null
+++ b/t/fcp-01.t
@@ -0,0 +1,29 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+use Test::More qw(no_plan);
+use Path::Class;
+
+BEGIN { use_ok('File::Cache::Parsed') or die }
+
+my $fc=File::Cache::Parsed->new();
+my %calls;
+$fc->add_parser(qr{\.t$} => sub { $calls{t}++;return ['t',@_] });
+$fc->add_parser(qr{\.pm$} => sub { $calls{pm}++;return ['pm',@_] });
+
+my $base=file(__FILE__)->parent->parent;
+my $module_file=$base->file('lib','File','Cache','Parsed.pm');
+my $module_contents=$module_file->slurp;
+my $test_file=$base->file('t','fcp-01.t');
+my $test_contents=$test_file->slurp;
+
+is_deeply($fc->get($module_file->stringify),
+ ['pm',$module_file->stringify,$module_contents]);
+is_deeply($fc->get($test_file->stringify),
+ ['t',$test_file->stringify,$test_contents]);
+is($calls{t},1);
+is($calls{pm},1);
+is_deeply($fc->get($test_file->stringify),
+ ['t',$test_file->stringify,$test_contents]);
+is($calls{t},1);
+is($calls{pm},1);