Mercurial > pub > Impl
view Lib/IMPL/Test/TAPListener.pm @ 118:79cdd6c86409
JSON support (experimental)
author | wizard |
---|---|
date | Mon, 07 Jun 2010 08:21:26 +0400 |
parents | 52eeec77504b |
children | 4267a2ac3d46 |
line wrap: on
line source
package IMPL::Test::TAPListener; use strict; use warnings; use base qw(IMPL::Object IMPL::Object::Serializable); use IMPL::Class::Property; use IMPL::Test::Result; BEGIN { private property _Output => prop_all; private property _testNo => prop_all; } sub CTOR { my ($this,$out) = @_; $this->_Output($out || *STDOUT); $this->_testNo(1); } sub RunPlan { my ($this,$plan) = @_; my $out = $this->_Output; print $out "1..",$plan->Count,"\n"; } sub EndPlan { } sub RunUnit { my ($this,$unit) = @_; my $out = $this->_Output; print $out "#\n",join("\n",map "# $_", split /\n/, "Running unit: " . $unit->UnitName, ),"\n#\n"; } sub EndUnit { } sub RunTest { } sub EndTest { my ($this,$test,$result) = @_; my $out = $this->_Output; my $n = $this->_testNo; $this->_testNo($n+1); print $out ( $result->State == IMPL::Test::Result::SUCCESS ? "ok $n " . join("\n# ", split(/\n/, $result->Name) ) : (eval { $result->Exception->isa('IMPL::Test::SkipException') } ? "ok $n #SKIP: " : "not ok $n ") . join("\n# ", split(/\n/, $result->Name.": ".$result->Exception || '') ) ),"\n"; } sub save { } 1;