1use strict;
2use warnings;
3use Test::More tests => 18;
4use DBIx::Class::Schema::Loader::Utils 'split_name';
5
6is_deeply [split_name('foo_bar_baz')], [qw/foo bar baz/],
7    'by underscore';
8
9is_deeply [split_name('foo__bar__baz')], [qw/foo bar baz/],
10    'by double underscore';
11
12is_deeply [split_name('Foo_Bar_Baz')], [qw/Foo Bar Baz/],
13    'by underscore with full capitalization';
14
15is_deeply [split_name('foo_Bar_Baz')], [qw/foo Bar Baz/],
16    'by underscore with lcfirst capitalization';
17
18is_deeply [split_name('fooBarBaz')], [qw/foo Bar Baz/],
19    'lcfirst camelCase identifier';
20
21is_deeply [split_name('FooBarBaz')], [qw/Foo Bar Baz/],
22    'ucfirst camelCase identifier';
23
24is_deeply [split_name('VLANValidID')], [qw/VLAN Valid ID/],
25    'CAMELCase identifier (word with all caps)';
26
27is_deeply [split_name('VlanVALIDId')], [qw/Vlan VALID Id/],
28    'CamelCASE identifier (second word with all caps)';
29
30is_deeply [split_name('foo..bar/baz')], [qw/foo bar baz/],
31    'by non-alphanum chars';
32
33# naming=v7
34
35is_deeply [split_name('foo_bar_baz', 7)], [qw/foo bar baz/],
36    'by underscore for v=7';
37
38is_deeply [split_name('foo__bar__baz', 7)], [qw/foo bar baz/],
39    'by double underscore for v=7';
40
41is_deeply [split_name('Foo_Bar_Baz', 7)], [qw/Foo Bar Baz/],
42    'by underscore with full capitalization for v=7';
43
44is_deeply [split_name('foo_Bar_Baz', 7)], [qw/foo Bar Baz/],
45    'by underscore with lcfirst capitalization for v=7';
46
47is_deeply [split_name('fooBarBaz', 7)], [qw/foo Bar Baz/],
48    'lcfirst camelCase identifier for v=7';
49
50is_deeply [split_name('FooBarBaz', 7)], [qw/Foo Bar Baz/],
51    'ucfirst camelCase identifier for v=7';
52
53is_deeply [split_name('VLANValidID', 7)], [qw/VLANValid ID/],
54    'CAMELCase identifier (word with all caps) for v=7';
55
56is_deeply [split_name('VlanVALIDId', 7)], [qw/Vlan VALIDId/],
57    'CamelCASE identifier (second word with all caps) for v=7';
58
59is_deeply [split_name('foo..bar/baz', 7)], [qw/foo bar baz/],
60    'by non-alphanum chars for v=7';
61