8 eval "use DBIx::Class::CDBICompat;";
9 plan $@ ? (skip_all => "Class::Trigger and DBIx::ContextualFetch required: $@")
16 my $waves = Film->insert({
17 Title => "Breaking the Waves",
18 Director => 'Lars von Trier',
22 local $ENV{DBIC_CDBICOMPAT_HASH_WARN} = 1;
25 my $rating = $waves->{rating};
27 is $rating, "R", 'evaluation of column value is not deferred';
28 } qr{^Column 'rating' of 'Film/$waves' was fetched as a hash at \Q$0};
31 is $waves->{title}, $waves->Title, "columns can be accessed as hashes";
32 } qr{^Column 'title' of 'Film/$waves' was fetched as a hash at\b};
37 is $waves->{rating}, "G", "updating via the accessor updates the hash";
38 } qr{^Column 'rating' of 'Film/$waves' was fetched as a hash at\b};
42 $waves->{rating} = "PG";
43 } qr{^Column 'rating' of 'Film/$waves' was stored as a hash at\b};
46 my @films = Film->search( Rating => "PG", Title => "Breaking the Waves" );
47 is @films, 1, "column updated as hash was saved";
51 local $ENV{DBIC_CDBICOMPAT_HASH_WARN} = 0;
53 } '', 'DBIC_CDBICOMPAT_HASH_WARN controls warnings';