fix picking up quoted tables for SQLite, patch from schwern
[dbsrgits/DBIx-Class-Schema-Loader.git] / t / 10sqlite_common.t
1 use strict;
2 use Test::More;
3 use lib qw(t/lib);
4 use dbixcsl_common_tests;
5
6 eval { require DBD::SQLite };
7 my $class = $@ ? 'SQLite2' : 'SQLite';
8
9 my $tester = dbixcsl_common_tests->new(
10     vendor          => 'SQLite',
11     auto_inc_pk     => 'INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT',
12     dsn             => "dbi:$class:dbname=./t/sqlite_test",
13     user            => '',
14     password        => '',
15     extra           => {
16         create => [
17             # 'sqlite_' is reserved, so we use 'extra_'
18             q{
19                 CREATE TABLE "extra_loader_test1" (
20                     "id" NOT NULL PRIMARY KEY,
21                     "value" VARCHAR(100)
22                 )
23             }
24         ],
25         drop  => [ 'extra_loader_test1' ],
26         count => 2,
27         run   => sub {
28             my ($schema, $monikers, $classes) = @_;
29
30             ok ((my $rs = $schema->resultset($monikers->{extra_loader_test1})),
31                 'resultset for quoted table');
32
33             is_deeply [ $rs->result_source->columns ], [ qw/id value/ ],
34                 'retrieved quoted column names from quoted table';
35         },
36     },
37 );
38
39 $tester->run_tests();
40
41 END {
42     unlink './t/sqlite_test';
43 }