is($new_again->ID, 'DBICTest::Artist|artist|artistid=4', 'unique object id generated correctly');
-# test that store_column is called once for create() for non sequence columns
+# test that store_column is called once for create() for non sequence columns
{
ok(my $artist = $schema->resultset('Artist')->create({name => 'store_column test'}));
is($artist->name, 'X store_column test'); # used to be 'X X store...'
group_by => [ qw/position title/ ]
}
);
- is($tcount->count, 13, 'multiple column COUNT DISTINCT using column syntax ok');
+ is($tcount->count, 13, 'multiple column COUNT DISTINCT using column syntax ok');
}
my $tag_rs = $schema->resultset('Tag')->search(
my @artsn = $schema->resultset('SourceNameArtists')->search({}, { order_by => 'name DESC' });
is(@artsn, 4, "Four artists returned");
-
+
# make sure subclasses that don't set source_name are ok
ok($schema->source('ArtistSubclass'), 'ArtistSubclass exists');
}
}
+# make sure that obsolete handle-based source tracking continues to work for the time being
+{
+ my $handle = $schema->source('Artist')->handle;
+
+ my $rowdata = { $schema->resultset('Artist')->next->get_columns };
+
+ my $rs = DBIx::Class::ResultSet->new($handle);
+ my $rs_result = $rs->next;
+ isa_ok( $rs_result, 'DBICTest::Artist' );
+ is_deeply (
+ { $rs_result->get_columns },
+ $rowdata,
+ 'Correct columns retrieved (rset/source link healthy)'
+ );
+
+ my $row = DBICTest::Artist->new({ -source_handle => $handle });
+ is_deeply(
+ { $row->get_columns },
+ {},
+ 'No columns yet'
+ );
+
+ # store_column to fool the _orig_ident tracker
+ $row->store_column('artistid', $rowdata->{artistid});
+ $row->in_storage(1);
+
+ $row->discard_changes;
+ is_deeply(
+ { $row->get_columns },
+ $rowdata,
+ 'Storage refetch successful'
+ );
+}
+
+# test to make sure that calling ->new() on a resultset object gives
+# us a row object
+{
+ my $new_artist = $schema->resultset('Artist')->new({});
+ isa_ok( $new_artist, 'DBIx::Class::Row', '$rs->new gives a row object' );
+}
+
+
# make sure we got rid of the compat shims
SKIP: {
- skip "Remove in 0.082", 3 if $DBIx::Class::VERSION < 0.082;
+ my $remove_version = 0.083;
+ 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");
+ ok (! DBIx::Class::ResultSource->can ($_), "$_ no longer provided by DBIx::Class::ResultSource, removed before $remove_version");
}
}