Lines Matching full:parser
15 use TAP::Parser;
16 use TAP::Parser::Iterator::Array;
19 my $parser = shift;
21 while ( defined( my $result = $parser->next ) ) {
27 my ( $PARSER, $PLAN, $PRAGMA, $TEST, $COMMENT, $BAILOUT, $UNKNOWN, $YAML, $VERSION ) = qw(
28 TAP::Parser
29 TAP::Parser::Result::Plan
30 TAP::Parser::Result::Pragma
31 TAP::Parser::Result::Test
32 TAP::Parser::Result::Comment
33 TAP::Parser::Result::Bailout
34 TAP::Parser::Result::Unknown
35 TAP::Parser::Result::YAML
36 TAP::Parser::Result::Version
55 can_ok $PARSER, 'new';
56 my $parser = $PARSER->new( { tap => $tap } );
57 isa_ok $parser, $PARSER, '... and the object it returns';
63 my @results = _get_results($parser);
284 can_ok $parser, 'passed';
285 is $parser->passed, 6,
287 is_deeply [ $parser->passed ], [ 1, 2, 3, 5, 6, 7 ],
290 can_ok $parser, 'failed';
291 is $parser->failed, 1, '... and the correct number of failed tests';
292 is_deeply [ $parser->failed ], [4], '... and get a list of the failed tests';
294 can_ok $parser, 'actual_passed';
295 is $parser->actual_passed, 4,
297 is_deeply [ $parser->actual_passed ], [ 1, 3, 5, 6 ],
300 can_ok $parser, 'actual_failed';
301 is $parser->actual_failed, 3,
303 is_deeply [ $parser->actual_failed ], [ 2, 4, 7 ],
306 can_ok $parser, 'todo';
307 is $parser->todo, 3,
309 is_deeply [ $parser->todo ], [ 2, 6, 7 ],
312 can_ok $parser, 'skipped';
313 is $parser->skipped, 1,
315 is_deeply [ $parser->skipped ], [5],
320 can_ok $parser, 'plan';
321 is $parser->plan, '1..7', '... and we should have the correct plan';
322 is $parser->tests_planned, 7, '... and the correct number of tests';
325 can_ok $parser, 'todo_passed';
326 is scalar $parser->todo_passed, 1,
328 is_deeply [ $parser->todo_passed ], [6],
333 # Makes sure parser can handle blank lines
346 can_ok $PARSER, 'new';
347 $parser
348 = $PARSER->new( { iterator => TAP::Parser::Iterator::Array->new($aref) } );
349 isa_ok $parser, $PARSER, '... and calling it should succeed';
353 ok @results = _get_results($parser), 'The parser should return results';
432 is scalar $parser->passed, 2,
436 can_ok $PARSER, 'new';
437 $parser = $PARSER->new( { source => "1..1\nok 1\n" } );
438 isa_ok $parser, $PARSER, '... and calling it should succeed';
439 ok @results = _get_results($parser), 'The parser should return results';
443 can_ok $PARSER, 'new';
444 $parser = $PARSER->new( { source => [ "1..1", "ok 1" ] } );
445 isa_ok $parser, $PARSER, '... and calling it should succeed';
446 ok @results = _get_results($parser), 'The parser should return results';
450 can_ok $PARSER, 'new';
452 $parser = $PARSER->new( { source => $fh } );
453 isa_ok $parser, $PARSER, '... and calling it should succeed';
454 ok @results = _get_results($parser), 'The parser should return results';
479 my $parser = $PARSER->new(
485 _get_results($parser);
489 is @spooled, 24, 'coverage testing for spool attribute of parser';
494 my $parser = $PARSER->new(
500 $parser->callback( 'ALL', sub { } );
502 _get_results($parser);
506 is @spooled, 24, 'coverage testing for spool attribute of parser';
522 $PARSER->new();
535 $PARSER->new(
570 my $parser = $PARSER->new( { tap => $tap } );
572 _get_results($parser);
579 $parser->todo_failed;
597 my $parser = TAP::Parser->new( { source => [ split /$/, $tap ] } );
599 isa_ok $parser, 'TAP::Parser';
601 isa_ok $parser->_iterator, 'TAP::Parser::Iterator::Array';
612 $parser = TAP::Parser->new( { source => 'nosuchfile' } );
626 my $parser = TAP::Parser->new(
635 isa_ok $parser, 'TAP::Parser';
637 isa_ok $parser->_iterator, 'TAP::Parser::Iterator::Process';
641 $parser->next;
646 # coverage testing for TAP::Parser::has_problems
661 my $parser = TAP::Parser->new( { tap => $tap } );
663 _get_results($parser);
665 ok !$parser->failed, 'parser didnt fail';
666 ok $parser->todo_passed, '... and todo_passed is true';
668 ok !$parser->has_problems, '... and has_problems is false';
678 $parser = TAP::Parser->new( { tap => $tap } );
680 _get_results($parser);
682 ok !$parser->failed, 'parser didnt fail';
683 ok !$parser->todo_passed, '... and todo_passed is false';
684 ok $parser->parse_errors, '... and parse_errors is true';
686 ok $parser->has_problems, '... and has_problems';
698 $parser = TAP::Parser->new( { tap => $tap } );
700 _get_results($parser);
702 $parser->wait(1);
704 ok !$parser->failed, 'parser didnt fail';
705 ok !$parser->todo_passed, '... and todo_passed is false';
706 ok !$parser->parse_errors, '... and parse_errors is false';
708 ok $parser->wait, '... and wait is set';
710 ok $parser->has_problems, '... and has_problems';
714 $parser->wait(0);
715 $parser->exit(1);
717 ok !$parser->failed, 'parser didnt fail';
718 ok !$parser->todo_passed, '... and todo_passed is false';
719 ok !$parser->parse_errors, '... and parse_errors is false';
720 ok !$parser->wait, '... and wait is not set';
722 ok $parser->exit, '... and exit is set';
724 ok $parser->has_problems, '... and has_problems';
738 my $parser = TAP::Parser->new( { tap => $tap } );
740 _get_results($parser);
742 my @errors = $parser->parse_errors;
758 $parser = TAP::Parser->new( { tap => $tap } );
760 _get_results($parser);
762 @errors = $parser->parse_errors;
782 my $parser = TAP::Parser->new( { tap => $tap } );
784 _get_results($parser);
786 my @errors = $parser->parse_errors;
803 package TAP::Parser::Iterator::Dies;
807 use base qw(TAP::Parser::Iterator);
819 # now build a standard parser
828 my $parser = TAP::Parser->new( { tap => $tap } );
831 my $iterator = TAP::Parser::Iterator::Dies->new;
835 $parser->_iterator($iterator);
838 my $grammar = TAP::Parser::Grammar->new(
840 parser => $parser
845 $parser->_grammar($grammar);
847 # now call next on the parser, and the grammar should die
848 my $result = $parser->next; # will die in iterator
852 my @errors = $parser->parse_errors;
862 my $parser = TAP::Parser->new( { tap => $tap } );
864 $parser->callback( 'ALL', sub { } );
867 my $iterator = TAP::Parser::Iterator::Dies->new;
871 $parser->_iterator($iterator);
874 my $grammar = TAP::Parser::Grammar->new(
876 parser => $parser
881 $parser->_grammar($grammar);
883 # now call next on the parser, and the grammar should die
884 my $result = $parser->next; # will die in iterator
888 my @errors = $parser->parse_errors;
898 # coverage testing of TAP::Parser::_next_state
900 package TAP::Parser::WithBrokenState;
902 use base qw( TAP::Parser );
916 my $parser = TAP::Parser::WithBrokenState->new( { tap => $tap } );
923 $parser->next;
924 $parser->next;
935 # coverage testing of TAP::Parser::_iter
937 package TAP::Parser::WithBrokenIter;
939 use base qw( TAP::Parser );
951 my $parser = TAP::Parser::WithBrokenIter->new( { tap => $tap } );
959 $parser->next;
972 # coverage testing of TAP::Parser::_finish
980 my $parser = TAP::Parser->new( { tap => $tap } );
982 $parser->tests_run(999);
989 _get_results $parser;
1003 my $parser = TAP::Parser->new( { tap => "1..1\nok 1\n" } );
1004 my $state_table = $parser->_make_state_table;
1044 my $parser = shift;
1045 $parser->wait($wait);
1046 $parser->exit($exit);
1047 ok $has_problems ? $parser->has_problems : !$parser->has_problems,
1051 my $parser = TAP::Parser->new( { tap => "1..1\nok 1\n" } );
1052 $parser->ignore_exit($ignore_exit);
1053 $test_parser->($parser);
1056 TAP::Parser->new(