Improve trigger 'scope' attribute support (RT#119997)
[dbsrgits/SQL-Translator.git] / t / 71-generator-sql_server.t
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;
8 use SQL::Translator::Schema::Table;
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
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
37 done_testing;
38