Switch CDBICompat and its tests to OptDeps
[dbsrgits/DBIx-Class.git] / t / cdbi / mk_group_accessors.t
CommitLineData
83eef562 1use DBIx::Class::Optional::Dependencies -skip_all_without => 'cdbicompat';
2
7da06023 3use strict;
4a233f30 4use warnings;
83eef562 5
7da06023 6use Test::More;
7
a40329c4 8use lib 't/cdbi/testlib';
9INIT { require Film }
7da06023 10
11sub Film::get_test {
12 my $self = shift;
13 my $key = shift;
14 $self->{get_test}++;
15 return $self->{$key};
16}
17
18sub Film::set_test {
19 my($self, $key, $val) = @_;
20 $self->{set_test}++;
21 return $self->{$key} = $val;
22}
23
24
25my $film = Film->create({ Title => "No Wolf McQuade" });
26
27# Test mk_group_accessors() with a list of fields.
28{
29 Film->mk_group_accessors(test => qw(foo bar));
30 $film->foo(42);
31 is $film->foo, 42;
32
33 $film->bar(23);
34 is $film->bar, 23;
35}
36
37
38# An explicit accessor passed to mk_group_accessors should
39# ignore accessor/mutator_name_for.
40sub Film::accessor_name_for {
41 my($class, $col) = @_;
42 return "hlaglagh" if $col eq "wibble";
43 return $col;
44}
45
46sub Film::mutator_name_for {
47 my($class, $col) = @_;
48 return "hlaglagh" if $col eq "wibble";
49 return $col;
50}
51
52
53# Test with a mix of fields and field specs
54{
55 Film->mk_group_accessors(test => ("baz", [wibble_thing => "wibble"]));
56 $film->baz(42);
57 is $film->baz, 42;
58
59 $film->wibble_thing(23);
60 is $film->wibble_thing, 23;
61}
89bddb49 62
63done_testing;