X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F60core.t;h=595df62d19d61073b226fff4c068b0879a0be8b7;hb=e240b8ba6a26e17bed8e87235bcc201eefca350d;hp=d848a9154747763c675e6be587813bac0294b3ff;hpb=2c2bc4e58c2146670960fc1a0a2ae802cb650506;p=dbsrgits%2FDBIx-Class.git diff --git a/t/60core.t b/t/60core.t index d848a91..595df62 100644 --- a/t/60core.t +++ b/t/60core.t @@ -206,41 +206,6 @@ $new = $schema->resultset("Track")->new( { $new->update_or_insert; ok($new->in_storage, 'update_or_insert insert ok'); -# test in update mode -$new->title('Insert or Update - updated'); -$new->update_or_insert; -is( $schema->resultset("Track")->find(100)->title, 'Insert or Update - updated', 'update_or_insert update ok'); - -SKIP: { - skip "Tests require " . DBIx::Class::Optional::Dependencies->req_missing_for ('test_dt_sqlite'), 13 - unless DBIx::Class::Optional::Dependencies->req_ok_for ('test_dt_sqlite'); - - # test get_inflated_columns with objects - my $event = $schema->resultset('Event')->search->first; - my %edata = $event->get_inflated_columns; - is($edata{'id'}, $event->id, 'got id'); - isa_ok($edata{'starts_at'}, 'DateTime', 'start_at is DateTime object'); - isa_ok($edata{'created_on'}, 'DateTime', 'create_on DateTime object'); - is($edata{'starts_at'}, $event->starts_at, 'got start date'); - is($edata{'created_on'}, $event->created_on, 'got created date'); - - - # get_inflated_columns w/relation and accessor alias - isa_ok($new->updated_date, 'DateTime', 'have inflated object via accessor'); - my %tdata = $new->get_inflated_columns; - is($tdata{'trackid'}, 100, 'got id'); - isa_ok($tdata{'cd'}, 'DBICTest::CD', 'cd is CD object'); - is($tdata{'cd'}->id, 1, 'cd object is id 1'); - is( - $tdata{'position'}, - $schema->resultset ('Track')->search ({cd => 1})->count, - 'Ordered assigned proper position', - ); - is($tdata{'title'}, 'Insert or Update - updated'); - is($tdata{'last_updated_on'}, '1973-07-19T12:01:02'); - isa_ok($tdata{'last_updated_on'}, 'DateTime', 'inflated accessored column'); -} - throws_ok (sub { $schema->class("Track")->load_components('DoesNotExist'); }, qr!Can't locate DBIx/Class/DoesNotExist.pm!, 'exception on nonexisting component'); @@ -387,24 +352,29 @@ lives_ok (sub { my $newlink = $newbook->link}, "stringify to false value doesn't $schema->source("Artist")->column_info_from_storage(1); $schema->source("Artist")->{_columns_info_loaded} = 0; + my @undef_default = DBIx::Class::_ENV_::STRESSTEST_COLUMN_INFO_UNAWARE_STORAGE + ? () + : ( default_value => undef ) + ; + is_deeply ( $schema->source('Artist')->columns_info, { artistid => { data_type => "INTEGER", - default_value => undef, + @undef_default, is_nullable => 0, size => undef }, charfield => { data_type => "char", - default_value => undef, + @undef_default, is_nullable => 1, size => 10 }, name => { data_type => "varchar", - default_value => undef, + @undef_default, is_nullable => 1, is_numeric => 0, size => 100 @@ -426,7 +396,7 @@ lives_ok (sub { my $newlink = $newbook->link}, "stringify to false value doesn't { artistid => { data_type => "INTEGER", - default_value => undef, + @undef_default, is_nullable => 0, size => undef }, @@ -576,15 +546,13 @@ lives_ok (sub { my $newlink = $newbook->link}, "stringify to false value doesn't { my $new_artist = $schema->resultset('Artist')->new({}); isa_ok( $new_artist, 'DBIx::Class::Row', '$rs->new gives a row object' ); - lives_ok { $new_artist->insert() } 'inserting without specifying any columns works'; - $new_artist->discard_changes; - $new_artist->delete; } + # make sure we got rid of the compat shims SKIP: { my $remove_version = 0.083; - skip "Remove in $remove_version", 3 if DBIx::Class->VERSION < $remove_version; + skip "Remove in $remove_version", 3 if $DBIx::Class::VERSION < $remove_version; for (qw/compare_relationship_keys pk_depends_on resolve_condition/) { ok (! DBIx::Class::ResultSource->can ($_), "$_ no longer provided by DBIx::Class::ResultSource, removed before $remove_version"); @@ -627,7 +595,7 @@ SKIP: { #------------------------------ # SKIP: { - skip "Something needs to be done before 0.09", 2 if DBIx::Class->VERSION < 0.09; + skip "Something needs to be done before 0.09", 2 if $DBIx::Class::VERSION < 0.09; my $row = $schema->resultset ('Artist')->next; @@ -638,4 +606,6 @@ SKIP: { throws_ok { $schema->resultset} qr/resultset\(\) expects a source name/, 'resultset with no argument throws exception'; +throws_ok { $schema->source('Artist')->result_class->new( 'bugger' ) } qr/must be a hashref/; + done_testing;