File: 71-generator-sql_server.t

package info (click to toggle)
libsql-translator-perl 0.11021-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 4,544 kB
  • ctags: 2,143
  • sloc: perl: 67,158; sql: 3,809; xml: 249; makefile: 7
file content (38 lines) | stat: -rw-r--r-- 933 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
use strict;
use warnings;

use Test::More;

use SQL::Translator::Generator::DDL::SQLServer;
use SQL::Translator::Schema::Field;
use SQL::Translator::Schema::Table;

my $shim = SQL::Translator::Generator::DDL::SQLServer->new();

is $shim->field(SQL::Translator::Schema::Field->new(
   name => 'lol',
   data_type => 'int',
)), '[lol] int NULL', 'simple field is generated correctly';

is $shim->field(SQL::Translator::Schema::Field->new(
   name => 'nice',
   data_type => 'varchar',
   size => 10,
)), '[nice] varchar(10) NULL', 'sized field is generated correctly';

my $table = SQL::Translator::Schema::Table->new(
    name => 'mytable',
);

$table->add_field(
    name => 'myenum',
    data_type => 'enum',
    extra => { list => [qw(foo ba'r)] },
);

like $shim->table($table),
     qr/\b\QCONSTRAINT [myenum_chk] CHECK ([myenum] IN ('foo','ba''r'))\E/,
     'enum constraint is generated and escaped correctly';

done_testing;