Commit | Line | Data |
fe67d343 |
1 | use strict; |
2 | use lib qw(t/lib); |
3 | use dbixcsl_common_tests; |
804c115d |
4 | use Test::More; |
2d1dc6de |
5 | use Test::Exception; |
6ecee584 |
6 | use List::MoreUtils 'apply'; |
f9f65ded |
7 | |
fe67d343 |
8 | my $dsn = $ENV{DBICTEST_SYBASE_DSN} || ''; |
9 | my $user = $ENV{DBICTEST_SYBASE_USER} || ''; |
10 | my $password = $ENV{DBICTEST_SYBASE_PASS} || ''; |
11 | |
12 | my $tester = dbixcsl_common_tests->new( |
7cb9244f |
13 | vendor => 'sybase', |
fe67d343 |
14 | auto_inc_pk => 'INTEGER IDENTITY NOT NULL PRIMARY KEY', |
41968729 |
15 | default_function => 'getdate()', |
16 | default_function_def => 'AS getdate()', |
fe67d343 |
17 | dsn => $dsn, |
18 | user => $user, |
19 | password => $password, |
6ecee584 |
20 | # Test data types, see http://ispirer.com/wiki/sqlways/sybase/data-types |
5163dc4a |
21 | data_types => { |
22 | 'integer identity' => { data_type => 'integer', is_auto_increment => 1 }, |
23 | 'AS getdate()' => { data_type => undef, inflate_datetime => 1, default_value => \'getdate()' }, |
24 | text => { data_type => 'text' }, |
25 | unitext => { data_type => 'unitext' }, |
26 | image => { data_type => 'image' }, |
27 | bigint => { data_type => 'bigint' }, |
28 | int => { data_type => 'integer' }, |
29 | integer => { data_type => 'integer' }, |
30 | smallint => { data_type => 'smallint' }, |
31 | tinyint => { data_type => 'tinyint' }, |
32 | date => { data_type => 'date' }, |
33 | time => { data_type => 'time' }, |
34 | datetime => { data_type => 'datetime' }, |
35 | smalldatetime => { data_type => 'smalldatetime' }, |
36 | money => { data_type => 'money' }, |
37 | smallmoney => { data_type => 'smallmoney' }, |
38 | timestamp => { data_type => 'timestamp', inflate_datetime => 0 }, |
39 | bit => { data_type => 'bit' }, |
40 | 'char(2)' => { data_type => 'char', size => 2 }, |
41 | 'nchar(2)' => { data_type => 'nchar', size => 2 }, |
42 | 'unichar(2)' => { data_type => 'unichar', size => 2 }, |
43 | 'varchar(2)' => { data_type => 'varchar', size => 2 }, |
44 | 'nvarchar(2)' => { data_type => 'nvarchar', size => 2 }, |
45 | 'univarchar(2)' => { data_type => 'univarchar', size => 2 }, |
46 | 'binary(2)' => { data_type => 'binary', size => 2 }, |
47 | 'varbinary(2)' => { data_type => 'varbinary', size => 2 }, |
48 | 'double precision' => { data_type => 'double precision' }, |
49 | real => { data_type => 'real' }, |
50 | float => { data_type => 'double precision' }, |
51 | 'float(14)' => { data_type => 'real' }, |
52 | 'float(15)' => { data_type => 'real' }, |
53 | 'float(16)' => { data_type => 'double precision' }, |
54 | 'float(48)' => { data_type => 'double precision' }, |
55 | 'numeric(6,3)' => { data_type => 'numeric', size => [6,3] }, |
56 | 'decimal(6,3)' => { data_type => 'numeric', size => [6,3] }, |
57 | numeric => { data_type => 'numeric' }, |
58 | decimal => { data_type => 'numeric' }, |
804c115d |
59 | }, |
fe67d343 |
60 | ); |
61 | |
62 | if( !$dsn || !$user ) { |
63 | $tester->skip_tests('You need to set the DBICTEST_SYBASE_DSN, _USER, and _PASS environment variables'); |
64 | } |
65 | else { |
66 | $tester->run_tests(); |
67 | } |