X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F56-sqlite-producer.t;h=5d56adf082fbd275c27b14d00822a33a92e82fec;hb=46417fe20ac56566a81da64ce390b8e792a189ff;hp=3151ddb65bf030ac7cb4b459cf86296bae3dd181;hpb=27f0e868b86375ba0b46a0577a190b76f2887bf3;p=dbsrgits%2FSQL-Translator.git diff --git a/t/56-sqlite-producer.t b/t/56-sqlite-producer.t index 3151ddb..5d56adf 100644 --- a/t/56-sqlite-producer.t +++ b/t/56-sqlite-producer.t @@ -74,4 +74,94 @@ $SQL::Translator::Producer::SQLite::NO_QUOTES = 0; is_deeply($result, $expected, 'correctly unquoted DEFAULT'); } +{ + my $table = SQL::Translator::Schema::Table->new( + name => 'foo', + ); + $table->add_field( + name => 'data', + data_type => 'bytea', + ); + $table->add_field( + name => 'data2', + data_type => 'set', + ); + $table->add_field( + name => 'data2', + data_type => 'set', + ); + $table->add_field( + name => 'data3', + data_type => 'text', + size => 30, + ); + $table->add_field( + name => 'data4', + data_type => 'blob', + size => 30, + ); + my $expected = [ qq]; + my $result = [SQL::Translator::Producer::SQLite::create_table($table, { no_comments => 1 })]; + is_deeply($result, $expected, 'correctly translated bytea to blob'); +} + +{ + my $table = SQL::Translator::Schema::Table->new( + name => 'foo_table', + ); + $table->add_field( + name => 'id', + data_type => 'integer', + default_value => \'gunshow', + ); + my $expected = [ qq]; + my $result = [SQL::Translator::Producer::SQLite::create_table($table, { no_comments => 1 })]; + is_deeply($result, $expected, 'correctly unquoted DEFAULT'); +} + +{ + my $table = SQL::Translator::Schema::Table->new( + name => 'foo_table', + ); + $table->add_field( + name => 'id', + data_type => 'integer', + default_value => 'frew', + ); + my $expected = [ qq]; + my $result = [SQL::Translator::Producer::SQLite::create_table($table, { no_comments => 1 })]; + is_deeply($result, $expected, 'correctly quoted DEFAULT'); +} + +{ + my $table = SQL::Translator::Schema::Table->new( + name => 'foo', + ); + $table->add_field( + name => 'id', + data_type => 'integer', + default_value => 'NULL', + ); + $table->add_field( + name => 'when', + default_value => 'now()', + ); + $table->add_field( + name => 'at', + default_value => 'CURRENT_TIMESTAMP', + ); + my $expected = [ qq]; + my $result = [SQL::Translator::Producer::SQLite::create_table($table, { no_comments => 1 })]; + is_deeply($result, $expected, 'correctly unquoted excempted DEFAULTs'); +} + done_testing;