Mercurial > pub > Impl
view Lib/IMPL/Test/TAPListener.pm @ 59:0f3e369553bd
Rewritten property implementation (probably become slower but more flexible)
Configuration infrastructure in progress (in the aspect of the lazy activation)
Initial concept for the code generator
author | wizard |
---|---|
date | Tue, 09 Mar 2010 02:50:45 +0300 |
parents | 16ada169ca75 |
children | e568c7c8b743 |
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) ) : "not ok $n " . (eval { $result->Exception->isa('IMPL::Test::SkipException') } ? '# SKIP ' : '') . join("\n# ", split(/\n/, $result->Name."\n".$result->Exception || '') ) ),"\n"; } sub save { } 1;