X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Fcdbi%2F01-columns.t;h=76bce524141de7f92bff756c1f2df574a0048125;hb=d52c4a75538bd15d1fa531a63c6ec45b8943dfd0;hp=61c7b90eff7a89aacf09f751f7be31cc31c6c633;hpb=97d61088b16ce8d2ffcbb4a2433509d65f7f7449;p=dbsrgits%2FDBIx-Class.git diff --git a/t/cdbi/01-columns.t b/t/cdbi/01-columns.t index 61c7b90..76bce52 100644 --- a/t/cdbi/01-columns.t +++ b/t/cdbi/01-columns.t @@ -1,13 +1,11 @@ +use DBIx::Class::Optional::Dependencies -skip_all_without => 'cdbicompat'; + use strict; +use warnings; use Test::More; use lib 't/cdbi/testlib'; -BEGIN { - eval "use DBIx::Class::CDBICompat;"; - plan $@ ? (skip_all => "Class::Trigger and DBIx::ContextualFetch required: $@") : (tests=> 24); -} - #----------------------------------------------------------------------- # Make sure that we can set up columns properly @@ -24,15 +22,15 @@ State->columns(Other => qw/Capital Population/); #State->has_many(cities => "City"); sub accessor_name_for { - my ($class, $column) = @_; - my $return = $column eq "Rain" ? "Rainfall" : $column; - return $return; + my ($class, $column) = @_; + my $return = $column eq "Rain" ? "Rainfall" : $column; + return $return; } sub mutator_name_for { - my ($class, $column) = @_; - my $return = $column eq "Rain" ? "set_Rainfall" : "set_$column"; - return $return; + my ($class, $column) = @_; + my $return = $column eq "Rain" ? "set_Rainfall" : "set_$column"; + return $return; } sub Snowfall { 1 } @@ -69,61 +67,61 @@ package main; is(State->table, 'State', 'State table()'); is(State->primary_column, 'name', 'State primary()'); is_deeply [ State->columns('Primary') ] => [qw/name/], - 'State Primary:' . join ", ", State->columns('Primary'); + 'State Primary:' . join ", ", State->columns('Primary'); is_deeply [ sort State->columns('Essential') ] => [qw/abbreviation name/], - 'State Essential:' . join ", ", State->columns('Essential'); + 'State Essential:' . join ", ", State->columns('Essential'); is_deeply [ sort State->columns('All') ] => - [ sort qw/name abbreviation rain snowfall capital population/ ], - 'State All:' . join ", ", State->columns('All'); + [ sort qw/name abbreviation rain snowfall capital population/ ], + 'State All:' . join ", ", State->columns('All'); is(CD->primary_column, 'artist', 'CD primary()'); is_deeply [ CD->columns('Primary') ] => [qw/artist/], - 'CD primary:' . join ", ", CD->columns('Primary'); + 'CD primary:' . join ", ", CD->columns('Primary'); is_deeply [ sort CD->columns('All') ] => [qw/artist length title/], - 'CD all:' . join ", ", CD->columns('All'); + 'CD all:' . join ", ", CD->columns('All'); is_deeply [ sort CD->columns('Essential') ] => [qw/artist/], - 'CD essential:' . join ", ", CD->columns('Essential'); + 'CD essential:' . join ", ", CD->columns('Essential'); ok(State->find_column('Rain'), 'find_column Rain'); ok(State->find_column('rain'), 'find_column rain'); ok(!State->find_column('HGLAGAGlAG'), '!find_column HGLAGAGlAG'); { - + can_ok +State => qw/Rainfall _Rainfall_accessor set_Rainfall - _set_Rainfall_accessor Snowfall _Snowfall_accessor set_Snowfall - _set_Snowfall_accessor/; - - foreach my $method (qw/Rain _Rain_accessor rain snowfall/) { - ok !State->can($method), "State can't $method"; + _set_Rainfall_accessor Snowfall _Snowfall_accessor set_Snowfall + _set_Snowfall_accessor/; + + foreach my $method (qw/Rain _Rain_accessor rain snowfall/) { + ok !State->can($method), "State can't $method"; } } { - SKIP: { - skip "No column objects", 1; + { + local $TODO = "No column objects"; - eval { my @grps = State->__grouper->groups_for("Huh"); }; - ok $@, "Huh not in groups"; - } + eval { my @grps = State->__grouper->groups_for("Huh"); }; + ok $@, "Huh not in groups"; + } - my @grps = sort State->__grouper->groups_for(State->_find_columns(qw/rain capital/)); - is @grps, 2, "Rain and Capital = 2 groups"; + my @grps = sort State->__grouper->groups_for(State->_find_columns(qw/rain capital/)); + is @grps, 2, "Rain and Capital = 2 groups"; @grps = sort @grps; # Because the underlying API is hash-based - is $grps[0], 'Other', " - Other"; - is $grps[1], 'Weather', " - Weather"; + is $grps[0], 'Other', " - Other"; + is $grps[1], 'Weather', " - Weather"; } #{ -# +# # package DieTest; # @DieTest::ISA = qw(DBIx::Class); # DieTest->load_components(qw/CDBICompat::Retrieve Core/); # package main; -# local $SIG{__WARN__} = sub { }; -# eval { DieTest->retrieve(1) }; -# like $@, qr/unless primary columns are defined/, "Need primary key for retrieve"; +# local $SIG{__WARN__} = sub { }; +# eval { DieTest->retrieve(1) }; +# like $@, qr/unless primary columns are defined/, "Need primary key for retrieve"; #} #----------------------------------------------------------------------- @@ -152,3 +150,4 @@ is join (' ', sort A->columns), 'id', "A columns"; is join (' ', sort A::B->columns), 'b1 id', "A::B columns"; is join (' ', sort A::C->columns), 'c1 c2 c3 id', "A::C columns"; +done_testing;