X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F60core.t;h=b0d7ec6903f3b88aee738182afa26176ce275b83;hb=29bfd407abd4af204165f7a49bf80ef8cd5d444c;hp=710f636c92a9adb1395e4be416e8edd392bf8e9d;hpb=6eda9bcf16e70eb911ffccd7efec6df195222734;p=dbsrgits%2FDBIx-Class-Historic.git diff --git a/t/60core.t b/t/60core.t index 710f636..b0d7ec6 100644 --- a/t/60core.t +++ b/t/60core.t @@ -7,7 +7,7 @@ use DBICTest; my $schema = DBICTest->init_schema(); -plan tests => 61; +plan tests => 64; # figure out if we've got a version of sqlite that is older than 3.2.6, in # which case COUNT(DISTINCT()) doesn't work @@ -164,7 +164,7 @@ is($cd->get_column('name'), 'Caterwauler McCrae', 'Additional column returned'); $new = $schema->resultset("Track")->new( { trackid => 100, cd => 1, - position => 1, + position => 4, title => 'Insert or Update', } ); $new->update_or_insert; @@ -253,6 +253,9 @@ ok($schema->storage(), 'Storage available'); my @artsn = $schema->resultset('SourceNameArtists')->search({}, { order_by => 'name DESC' }); cmp_ok(@artsn, '==', 4, "Four artists returned"); + + # make sure subclasses that don't set source_name are ok + ok($schema->source('ArtistSubclass', 'ArtistSubclass exists')); } my $newbook = $schema->resultset( 'Bookmark' )->find(1); @@ -274,7 +277,7 @@ ok(!$@, "stringify to false value doesn't cause error"); # test column_info { $schema->source("Artist")->{_columns}{'artistid'} = {}; - $schema->source("Artist")->load_column_info_from_storage; + $schema->source("Artist")->column_info_from_storage(1); my $typeinfo = $schema->source("Artist")->column_info('artistid'); is($typeinfo->{data_type}, 'INTEGER', 'column_info ok'); @@ -282,10 +285,24 @@ ok(!$@, "stringify to false value doesn't cause error"); ok($schema->source("Artist")->{_columns_info_loaded} == 1, 'Columns info flag set'); } +# test source_info +{ + my $expected = { + "source_info_key_A" => "source_info_value_A", + "source_info_key_B" => "source_info_value_B", + "source_info_key_C" => "source_info_value_C", + }; + + my $sinfo = $schema->source("Artist")->source_info; + + is_deeply($sinfo, $expected, 'source_info data works'); +} + # test remove_columns { is_deeply([$schema->source('CD')->columns], [qw/cdid artist title year/]); $schema->source('CD')->remove_columns('year'); is_deeply([$schema->source('CD')->columns], [qw/cdid artist title/]); + ok(! exists $schema->source('CD')->_columns->{'year'}, 'year still exists in _columns'); }