Tests for adjacency list as well as a bunch of fixes.
[dbsrgits/DBIx-Class-Tree.git] / t / lib / TreeTest / Schema.pm
diff --git a/t/lib/TreeTest/Schema.pm b/t/lib/TreeTest/Schema.pm
new file mode 100644 (file)
index 0000000..9167026
--- /dev/null
@@ -0,0 +1,35 @@
+package TreeTest::Schema;
+use strict;
+use warnings;
+
+use base qw( DBIx::Class::Schema );
+
+__PACKAGE__->load_classes();
+
+sub connect {
+    my $self = shift;
+
+    my $db_file = 't/var/test.db';
+
+    unlink($db_file) if -e $db_file;
+    unlink($db_file . '-journal') if -e $db_file . '-journal';
+    mkdir("t/var") unless -d "t/var";
+
+    my $dsn = "dbi:SQLite:$db_file";
+    my $schema = $self->next::method( $dsn );
+
+    $schema->storage->on_connect_do([ "PRAGMA synchronous = OFF" ]);
+
+        my $dbh = $schema->storage->dbh;
+        open SQL, "t/lib/sqlite.sql";
+            my $sql;
+            { local $/ = undef; $sql = <SQL>; }
+        close SQL;
+        $dbh->do($_) for split(/\n\n/, $sql);
+
+    $schema->storage->dbh->do("PRAGMA synchronous = OFF");
+
+    return $schema;
+}
+
+1;