add tests and test data
[dbsrgits/SQL-Translator-2.0-ish.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..2bf3881
--- /dev/null
@@ -0,0 +1,34 @@
+use strict;
+use Test::More;
+use FindBin qw/$Bin/;
+
+use SQL::Translator::Object::View;
+use SQL::Translator::Producer::SQL::SQLite;
+
+{
+  my $view1 = SQL::Translator::Object::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::SQL::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::Object::View->new( name => 'view_foo',
+                                                  fields => [qw/id name/],
+                                                  sql => 'SELECT id, name FROM thing',);
+
+  my $view1_sql2 = SQL::Translator::Producer::SQL::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');
+}
+
+done_testing;