1package Test::SOAP::WSDL::Tester; 2use strict; 3use warnings; 4use Test::Class; 5use base qw(Test::Class); 6 7use File::Basename; 8use File::Spec; 9 10use Test::More; 11 12use Scalar::Util qw(blessed); 13 14our $HAS_TEST_WARN; 15 16BEGIN { 17 $HAS_TEST_WARN = eval { require Test::Warn; import Test::Warn; 1 }; 18} 19 20sub has_test_warn { 21 return $HAS_TEST_WARN; 22} 23 24# object accessors 25sub set_object { $_[0]->{ object } = $_[1] } 26sub get_object { return shift->{ object } }; 27# class accessors 28sub set_class { $_[0]->{ class } = $_[1] } 29sub get_class { return shift->{ class } }; 30 31 32sub startup :Test(startup => 1) { 33 my $self = shift; 34 my $class = ref $self; 35 if ($class eq __PACKAGE__) { 36 ok __PACKAGE__; 37 return; 38 }; 39 $class =~s{^Test::}{}; 40 $self->set_class( $class ); 41 use_ok $class; 42} 43 44sub t_url { 45 my $path = File::Spec->rel2abs( dirname __FILE__ ); 46 my ($volume, $dir) = File::Spec->splitpath($path, 1); 47 my @dir_from = File::Spec->splitdir($dir); 48 unshift @dir_from, $volume if $volume; 49 50 my $url = 'file://' . join '/', @dir_from[0..$#dir_from - 4]; 51 # die $url; 52 return $url; 53 54} 55 561;