comparison Lib/IMPL/Test/TAPListener.pm @ 0:03e58a454b20

Создан репозитарий
author Sergey
date Tue, 14 Jul 2009 12:54:37 +0400
parents
children 16ada169ca75
comparison
equal deleted inserted replaced
-1:000000000000 0:03e58a454b20
1 package IMPL::Test::TAPListener;
2 use strict;
3 use warnings;
4
5 use base qw(IMPL::Object IMPL::Object::Serializable);
6 use IMPL::Class::Property;
7 use IMPL::Test::Result;
8
9 BEGIN {
10 private property _Output => prop_all;
11 private property _testNo => prop_all;
12 }
13
14 sub CTOR {
15 my ($this,$out) = @_;
16
17 $this->_Output($out || *STDOUT);
18 $this->_testNo(1);
19 }
20
21 sub RunPlan {
22 my ($this,$plan) = @_;
23
24 my $out = $this->_Output;
25
26 print $out "1..",$plan->Count,"\n";
27 }
28
29 sub EndPlan {
30
31 }
32
33 sub RunUnit {
34 my ($this,$unit) = @_;
35
36 my $out = $this->_Output;
37
38 print $out "#\n",join("\n",map "# $_", split /\n/, "Running unit: " . $unit->UnitName, ),"\n#\n";
39 }
40
41 sub EndUnit {
42
43 }
44
45 sub RunTest {
46
47 }
48
49 sub EndTest {
50 my ($this,$test,$result) = @_;
51
52 my $out = $this->_Output;
53 my $n = $this->_testNo;
54
55 $this->_testNo($n+1);
56
57 print $out (
58 $result->State == IMPL::Test::Result::SUCCESS ?
59 "ok $n " . join("\n# ", split(/\n/, $result->Name) )
60 :
61 "not ok $n " . (eval { $result->Exception->isa('IMPL::Test::SkipException') } ? '# SKIP ' : '') . join("\n# ", split(/\n/, $result->Name."\n".$result->Exception || '') )
62 ),"\n";
63
64 }
65
66 sub save {
67
68 }
69
70 1;