Rewrite t/54taint.t to properly test load_namespaces()
[dbsrgits/DBIx-Class.git] / t / 54taint.t
1 #!perl -T
2
3 # the above line forces Test::Harness into taint-mode
4
5 use strict;
6 use warnings;
7
8 use Test::More;
9
10 BEGIN {
11   eval "require Module::Find;";
12   if ($@) {
13     plan skip_all => 'Could not load Module::Find';
14     exit;
15   }
16   else {
17     plan tests => 7;
18   }
19 }
20
21 package DBICTest::Taint::Classes;
22
23 use Test::More;
24 use Test::Exception;
25
26 use lib qw(t/lib);
27 use base qw/DBIx::Class::Schema/;
28
29 lives_ok (sub {
30   __PACKAGE__->load_classes(qw/Manual/);
31   ok( __PACKAGE__->source('Manual'), 'The Classes::Manual source has been registered' );
32   __PACKAGE__->_unregister_source (qw/Manual/);
33 }, 'Loading classes with explicit load_classes worked in taint mode' );
34
35 lives_ok (sub {
36   __PACKAGE__->load_classes();
37   ok( __PACKAGE__->source('Auto'), 'The Classes::Auto source has been registered' );
38   ok( __PACKAGE__->source('Auto'), 'The Classes::Manual source has been re-registered' );
39 }, 'Loading classes with Module::Find/load_classes worked in taint mode' );
40
41
42 package DBICTest::Taint::Namespaces;
43
44 use Test::More;
45 use Test::Exception;
46
47 use lib qw(t/lib);
48 use base qw/DBIx::Class::Schema/;
49
50 lives_ok (sub {
51   __PACKAGE__->load_namespaces();
52   ok( __PACKAGE__->source('Test'), 'The Namespaces::Test source has been registered' );
53 }, 'Loading classes with Module::Find/load_namespaces worked in taint mode' );
54
55
56 1;