summaryrefslogtreecommitdiff
path: root/cpan/Test-Harness/t/parser-config.t
diff options
context:
space:
mode:
Diffstat (limited to 'cpan/Test-Harness/t/parser-config.t')
-rw-r--r--cpan/Test-Harness/t/parser-config.t39
1 files changed, 39 insertions, 0 deletions
diff --git a/cpan/Test-Harness/t/parser-config.t b/cpan/Test-Harness/t/parser-config.t
new file mode 100644
index 0000000000..bd3625902d
--- /dev/null
+++ b/cpan/Test-Harness/t/parser-config.t
@@ -0,0 +1,39 @@
+#!/usr/bin/perl -w
+
+BEGIN {
+ unshift @INC, 't/lib';
+}
+
+use strict;
+use vars qw(%INIT %CUSTOM);
+
+use Test::More tests => 11;
+use File::Spec::Functions qw( catfile updir );
+use TAP::Parser;
+
+use_ok('MySource');
+use_ok('MyPerlSource');
+use_ok('MyGrammar');
+use_ok('MyIteratorFactory');
+use_ok('MyResultFactory');
+
+my $source = catfile( 't', 'source_tests', 'source' );
+my %customize = (
+ source_class => 'MySource',
+ perl_source_class => 'MyPerlSource',
+ grammar_class => 'MyGrammar',
+ iterator_factory_class => 'MyIteratorFactory',
+ result_factory_class => 'MyResultFactory',
+);
+my $p = TAP::Parser->new(
+ { source => $source,
+ %customize,
+ }
+);
+ok( $p, 'new customized parser' );
+
+foreach my $key ( keys %customize ) {
+ is( $p->$key(), $customize{$key}, "customized $key" );
+}
+
+# TODO: make sure these things are propogated down through the parser...