X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F68inflate_resultclass_hashrefinflator.t;h=e8fe25bcd6f8ecc1ba7dffd691d6eb600651b5c7;hb=a5b293612996cda25ce7e7bf1a5a5a23249c7b01;hp=a0402a127c958056015d305df7397ddab0f0c010;hpb=fa1620994ee0dd9cf8cc1a88c3aaaa9643669d50;p=dbsrgits%2FDBIx-Class.git diff --git a/t/68inflate_resultclass_hashrefinflator.t b/t/68inflate_resultclass_hashrefinflator.t index a0402a1..e8fe25b 100644 --- a/t/68inflate_resultclass_hashrefinflator.t +++ b/t/68inflate_resultclass_hashrefinflator.t @@ -120,6 +120,12 @@ for my $index (0 .. $#hashrefinf) { # Test the data inflator +is_deeply ( + DBIx::Class::ResultClass::HashRefInflator->new (inflate_columns => 1), + DBIx::Class::ResultClass::HashRefInflator->new ({inflate_columns => 1}), + 'Make sure arguments as list and as hashref work identically' +); + $schema->class('CD')->inflate_column( 'year', { inflate => sub { DateTime->new( year => shift ) }, deflate => sub { shift->year } } @@ -131,3 +137,16 @@ $cd_rs->result_class('DBIx::Class::ResultClass::HashRefInflator'); my $cd = $cd_rs->first; ok ( (not blessed $cd->{year}), "Plain string returned for year"); is ( $cd->{year}, '1997', "We are looking at the right year"); + +# try again with a HRI instance +$cd_rs->reset; +$cd_rs->result_class(DBIx::Class::ResultClass::HashRefInflator->new); +my $cd2 = $cd_rs->first; +is_deeply ($cd, $cd2, "HRI used as instance returns the same hashref as the old result_class ('class')"); + +# try it again with inflation requested +$cd_rs->reset; +$cd_rs->result_class(DBIx::Class::ResultClass::HashRefInflator->new (inflate_columns => 1)); +my $cd3 = $cd_rs->first; +isa_ok ($cd3->{year}, 'DateTime', "Inflated object"); +is ($cd3->{year}, DateTime->new ( year => 1997 ), "Correct year was inflated");