comparison Lib/IMPL/Test.pm @ 165:76515373dac0

Added Class::Template, Rewritten SQL::Schema 'use parent' directive instead of 'use base'
author wizard
date Sat, 23 Apr 2011 23:06:48 +0400
parents f8de52d3c112
children 029c9610528c
comparison
equal deleted inserted replaced
164:eb3e9861a761 165:76515373dac0
4 4
5 require IMPL::Test::SkipException; 5 require IMPL::Test::SkipException;
6 6
7 require Exporter; 7 require Exporter;
8 our @ISA = qw(Exporter); 8 our @ISA = qw(Exporter);
9 our @EXPORT_OK = qw(&test &shared &failed &cmparray &skip &run_plan); 9 our @EXPORT_OK = qw(&test &shared &failed &cmparray &skip &run_plan &assert);
10 10
11 require IMPL::Test::Unit; 11 require IMPL::Test::Unit;
12 require IMPL::Test::Plan; 12 require IMPL::Test::Plan;
13 require IMPL::Test::TAPListener; 13 require IMPL::Test::TAPListener;
14 use IMPL::Class::Member; 14 use IMPL::Class::Member;
36 36
37 sub failed($;@) { 37 sub failed($;@) {
38 die new IMPL::Test::FailException(@_); 38 die new IMPL::Test::FailException(@_);
39 } 39 }
40 40
41 sub assert {
42 my ($condition,@params) = @_;
43
44 die new IMPL::Test::FailException(@params ? @params : ("Assertion failed" , _GetSourceLine( (caller)[1,2] )) ) unless $condition;
45 }
46
41 sub skip($;@) { 47 sub skip($;@) {
42 die new IMPL::Test::SkipException(@_); 48 die new IMPL::Test::SkipException(@_);
43 } 49 }
44 50
45 sub cmparray { 51 sub cmparray {
52 } 58 }
53 59
54 return 1; 60 return 1;
55 } 61 }
56 62
63 sub _GetSourceLine {
64 my ($file,$line) = @_;
65
66 open my $hFile, $file or return "failed to open file: $file: $!";
67
68 my $text;
69 $text = <$hFile> for ( 1 .. $line);
70 chomp $text;
71 $text =~ s/^\s+//;
72 return "line $line: $text";
73 }
74
57 sub run_plan { 75 sub run_plan {
58 my (@units) = @_; 76 my (@units) = @_;
59 77
60 my $plan = new IMPL::Test::Plan(@units); 78 my $plan = new IMPL::Test::Plan(@units);
61 79