X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F60core.t;h=456dc7b0a2cb7eb4930a6a50423562ce060d17ea;hb=1bc193ac4c3bb934d1877e49bf7c465fc82815d6;hp=75b6ba728c21702ad2f8470ce19b2a7a3f8fb150;hpb=ba4a645371fc328eb33fb947333423f753378245;p=dbsrgits%2FDBIx-Class.git diff --git a/t/60core.t b/t/60core.t index 75b6ba7..456dc7b 100644 --- a/t/60core.t +++ b/t/60core.t @@ -7,7 +7,10 @@ use DBICTest; my $schema = DBICTest->init_schema(); -plan tests => 74; +plan tests => 78; + +eval { require DateTime::Format::MySQL }; +my $NO_DTFM = $@ ? 1 : 0; # 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 @@ -166,6 +169,7 @@ $new = $schema->resultset("Track")->new( { cd => 1, position => 4, title => 'Insert or Update', + last_updated_on => '1973-07-19 12:01:02' } ); $new->update_or_insert; ok($new->in_storage, 'update_or_insert insert ok'); @@ -176,12 +180,19 @@ $new->update_or_insert; is( $schema->resultset("Track")->find(100)->pos, 5, 'update_or_insert update ok'); # get_inflated_columns w/relation and accessor alias -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'}, 5, 'got position from pos'); -is($tdata{'title'}, 'Insert or Update'); +SKIP: { + skip "This test requires DateTime::Format::MySQL", 8 if $NO_DTFM; + + 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'}, 5, 'got position from pos'); + is($tdata{'title'}, 'Insert or Update'); + is($tdata{'last_updated_on'}, '1973-07-19T12:01:02'); + isa_ok($tdata{'last_updated_on'}, 'DateTime', 'inflated accessored column'); +} eval { $schema->class("Track")->load_components('DoesNotExist'); }; @@ -315,7 +326,8 @@ ok(!$@, "stringify to false value doesn't cause error"); } # test get_inflated_columns with objects -{ +SKIP: { + skip "This test requires DateTime::Format::MySQL", 5 if $NO_DTFM; my $event = $schema->resultset('Event')->search->first; my %edata = $event->get_inflated_columns; is($edata{'id'}, $event->id, 'got id'); @@ -325,3 +337,10 @@ ok(!$@, "stringify to false value doesn't cause error"); is($edata{'created_on'}, $event->created_on, 'got created date'); } +# test resultsource->table return value when setting +{ + my $class = $schema->class('Event'); + diag $class; + my $table = $class->table($class->table); + is($table, $class->table, '->table($table) returns $table'); +}