By royal decree, produced statements in list context shall not end in a semi-colon...
[dbsrgits/SQL-Translator.git] / t / 56-sqlite-producer.t
diff --git a/t/56-sqlite-producer.t b/t/56-sqlite-producer.t
new file mode 100644 (file)
index 0000000..4e2a969
--- /dev/null
@@ -0,0 +1,36 @@
+#!/usr/bin/perl
+# vim: set ft=perl:
+
+use strict;
+use Test::More tests => 2;
+use Test::SQL::Translator qw(maybe_plan);
+use FindBin qw/$Bin/;
+
+use SQL::Translator::Schema::View;
+use SQL::Translator::Producer::SQLite;
+
+{
+  my $view1 = SQL::Translator::Schema::View->new( name => 'view_foo',
+                                                  fields => [qw/id name/],
+                                                  sql => 'SELECT id, name FROM thing',
+                                                  extra => {
+                                                    temporary => 1,
+                                                    if_not_exists => 1,
+                                                  });
+  my $create_opts = { no_comments => 1 };
+  my $view1_sql1 = SQL::Translator::Producer::SQLite::create_view($view1, $create_opts);
+
+  my $view_sql_replace = "CREATE TEMPORARY VIEW IF NOT EXISTS view_foo AS
+    SELECT id, name FROM thing";
+  is($view1_sql1, $view_sql_replace, 'correct "CREATE TEMPORARY VIEW" SQL');
+
+
+  my $view2 = SQL::Translator::Schema::View->new( name => 'view_foo',
+                                                  fields => [qw/id name/],
+                                                  sql => 'SELECT id, name FROM thing',);
+
+  my $view1_sql2 = SQL::Translator::Producer::SQLite::create_view($view2, $create_opts);
+  my $view_sql_noreplace = "CREATE VIEW view_foo AS
+    SELECT id, name FROM thing";
+  is($view1_sql2, $view_sql_noreplace, 'correct "CREATE VIEW" SQL');
+}