Allow CDBI objects to be accessed like hashes as people tend to do for
[dbsrgits/DBIx-Class.git] / t / cdbi-t / columns_as_hashes.t
CommitLineData
5ef62e9f 1#!/usr/bin/perl -w
2
3use strict;
4use Test::More;
5use Test::Warn;
6
7BEGIN {
8 eval "use DBIx::Class::CDBICompat;";
9 plan $@ ? (skip_all => "Class::Trigger and DBIx::ContextualFetch required: $@")
10 : (tests=> 6);
11}
12
13use lib 't/testlib';
14use Film;
15
16my $waves = Film->insert({
17 Title => "Breaking the Waves",
18 Director => 'Lars von Trier',
19 Rating => 'R'
20});
21
22warnings_like {
23 is $waves->{title}, $waves->Title, "columns can be accessed as hashes";
24} qr{^Column 'title' of 'Film/$waves' was accessed as a hash at .*$};
25
26$waves->Rating("G");
27
28warnings_like {
29 is $waves->{rating}, "G", "updating via the accessor updates the hash";
30} qr{^Column 'rating' of 'Film/$waves' was accessed as a hash .*$};
31
32$waves->{rating} = "PG";
33
34warnings_like {
35 $waves->update;
36} qr{^Column 'rating' of 'Film/$waves' was updated as a hash .*$};
37
38my @films = Film->search( Rating => "PG", Title => "Breaking the Waves" );
39is @films, 1, "column updated as hash was saved";