Import the latest ::Optional::Dependencies from DBIC
[dbsrgits/DBIx-Class-Schema-Loader.git] / t / backcompat / 0.04006 / 23dumpmore.t
index 2d14615..8f87097 100644 (file)
@@ -1,17 +1,17 @@
+use DBIx::Class::Schema::Loader::Optional::Dependencies
+    -skip_all_without => 'test_backcompat';
+
 use strict;
 use Test::More;
 use lib qw(t/backcompat/0.04006/lib);
 use File::Path;
 use make_dbictest_db;
-require DBIx::Class::Schema::Loader;
+use dbixcsl_test_dir qw/$tdir/;
+use Class::Unload ();
 
-plan skip_all => 'set SCHEMA_LOADER_TESTS_BACKCOMPAT to enable these tests'
-    unless $ENV{SCHEMA_LOADER_TESTS_BACKCOMPAT};
-
-$^O eq 'MSWin32' && plan skip_all =>
-"Win32 perl produces additional warnings, and this test uses unix paths";
+require DBIx::Class::Schema::Loader;
 
-my $DUMP_PATH = './t/_dump';
+my $DUMP_PATH = "$tdir/dump";
 
 sub do_dump_test {
     my %tdata = @_;
@@ -20,6 +20,9 @@ sub do_dump_test {
 
     no strict 'refs';
     @{$schema_class . '::ISA'} = ('DBIx::Class::Schema::Loader');
+
+    $tdata{options}{use_namespaces} ||= 0;
+
     $schema_class->loader_options(dump_directory => $DUMP_PATH, %{$tdata{options}});
 
     my @warns;
@@ -28,8 +31,8 @@ sub do_dump_test {
         $schema_class->connect($make_dbictest_db::dsn);
     };
     my $err = $@;
-    $schema_class->storage->disconnect if !$err && $schema_class->storage;
-    undef *{$schema_class};
+
+    Class::Unload->unload($schema_class);
 
     is($err, $tdata{error});
 
@@ -213,9 +216,9 @@ do_dump_test(
         schema => [
             qr/package DBICTest::DumpMore::1;/,
             qr/->load_namespaces/,
-            qr/result_namespace => 'Res'/,
-            qr/resultset_namespace => 'RSet'/,
-            qr/default_resultset_class => 'RSetBase'/,
+            qr/result_namespace => "Res"/,
+            qr/resultset_namespace => "RSet"/,
+            qr/default_resultset_class => "RSetBase"/,
         ],
         'Res/Foo' => [
             qr/package DBICTest::DumpMore::1::Res::Foo;/,
@@ -248,9 +251,9 @@ do_dump_test(
         schema => [
             qr/package DBICTest::DumpMore::1;/,
             qr/->load_namespaces/,
-            qr/result_namespace => '\+DBICTest::DumpMore::1::Res'/,
-            qr/resultset_namespace => 'RSet'/,
-            qr/default_resultset_class => 'RSetBase'/,
+            qr/result_namespace => "\+DBICTest::DumpMore::1::Res"/,
+            qr/resultset_namespace => "RSet"/,
+            qr/default_resultset_class => "RSetBase"/,
             qr/use base 'My::SchemaBaseClass'/,
         ],
         'Res/Foo' => [
@@ -270,4 +273,4 @@ do_dump_test(
 
 done_testing;
 
-END { rmtree($DUMP_PATH, 1, 1); }
+END { rmtree($DUMP_PATH, 1, 1) if $ENV{SCHEMA_LOADER_TESTS_BACKCOMPAT}; }