Mercurial > pub > Impl
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; |