Commit | Line | Data |
1ea76bff |
1 | use strict; |
2 | use warnings; |
3 | |
4 | use Test::More; |
5 | |
6 | use SQL::Translator::Generator::DDL::SQLServer; |
7 | use SQL::Translator::Schema::Field; |
1868ddbe |
8 | use SQL::Translator::Schema::Table; |
1ea76bff |
9 | |
10 | my $shim = SQL::Translator::Generator::DDL::SQLServer->new(); |
11 | |
12 | is $shim->field(SQL::Translator::Schema::Field->new( |
13 | name => 'lol', |
14 | data_type => 'int', |
15 | )), '[lol] int NULL', 'simple field is generated correctly'; |
16 | |
17 | is $shim->field(SQL::Translator::Schema::Field->new( |
18 | name => 'nice', |
19 | data_type => 'varchar', |
20 | size => 10, |
21 | )), '[nice] varchar(10) NULL', 'sized field is generated correctly'; |
22 | |
1868ddbe |
23 | my $table = SQL::Translator::Schema::Table->new( |
24 | name => 'mytable', |
25 | ); |
26 | |
27 | $table->add_field( |
28 | name => 'myenum', |
29 | data_type => 'enum', |
30 | extra => { list => [qw(foo ba'r)] }, |
31 | ); |
32 | |
33 | like $shim->table($table), |
34 | qr/\b\QCONSTRAINT [myenum_chk] CHECK ([myenum] IN ('foo','ba''r'))\E/, |
35 | 'enum constraint is generated and escaped correctly'; |
36 | |
1ea76bff |
37 | done_testing; |
38 | |