Add tests for my fail. Fixed already with the dependencies in Makefile.PL
Tomas Doran [Thu, 14 May 2009 13:41:46 +0000 (13:41 +0000)]
Changes
t/06c3_issues.t [new file with mode: 0644]
t/lib/TestAppC3Fail.pm [new file with mode: 0644]
t/lib/TestAppC3Fail/Model/DB.pm [new file with mode: 0644]
t/lib/TestAppC3Fail/Schema/DB.pm [new file with mode: 0644]

diff --git a/Changes b/Changes
index 9f6aed9..5f17647 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,5 +1,8 @@
 Revision history for Perl extension Catalyst::Model::DBIC::Schema
 
+        - Add tests for issues with Class::C3 which are caused to
+          applications which use new Catalyst but old DBIC, and have
+          use Class::C3 in the MyApp class (t0m)
         - warn on empty schema
         - create=dynamic deprecation warning
         - conversion to Moose (of Model, helper to follow)
diff --git a/t/06c3_issues.t b/t/06c3_issues.t
new file mode 100644 (file)
index 0000000..87a60a6
--- /dev/null
@@ -0,0 +1,16 @@
+use strict;
+use warnings;
+
+use FindBin qw/$Bin/;
+use lib "$Bin/lib";
+
+use Test::More tests => 1;
+
+# This fails for me on 5.8.8 with the following module versions:
+#
+# Class:C3                 0.21
+# Class::C3::Componentised 1.0005
+# DBIx::Class              0.08013 (0.08099_05 works)
+
+use TestAppC3Fail;
+
diff --git a/t/lib/TestAppC3Fail.pm b/t/lib/TestAppC3Fail.pm
new file mode 100644 (file)
index 0000000..f49d326
--- /dev/null
@@ -0,0 +1,25 @@
+package TestAppC3Fail;
+use strict;
+use warnings;
+use Class::C3; # This causes the fail, saying use MRO::Compat is fine..
+
+our $VERSION = '0.0001';
+
+use Catalyst::Runtime '5.70';
+use Catalyst;
+
+__PACKAGE__->config(
+    name => 'TestAppC3Fail',
+);
+
+my @keys = sort keys( %{ __PACKAGE__->config } );
+
+__PACKAGE__->setup;
+
+my @new_keys = sort keys( %{ __PACKAGE__->config } );
+use Test::More;
+
+is_deeply(\@new_keys, \@keys, 'Config keys correct');
+
+1;
+
diff --git a/t/lib/TestAppC3Fail/Model/DB.pm b/t/lib/TestAppC3Fail/Model/DB.pm
new file mode 100644 (file)
index 0000000..9457699
--- /dev/null
@@ -0,0 +1,11 @@
+package TestAppC3Fail::Model::DB;
+use strict;
+use warnings;
+use base 'Catalyst::Model::DBIC::Schema';
+
+__PACKAGE__->config(
+    schema_class => 'TestAppC3Fail::Schema::DB',
+    connect_info => [ 'DBI:SQLite:dbname=foo', '', '' ],
+);
+
+1;
diff --git a/t/lib/TestAppC3Fail/Schema/DB.pm b/t/lib/TestAppC3Fail/Schema/DB.pm
new file mode 100644 (file)
index 0000000..db6bb93
--- /dev/null
@@ -0,0 +1,11 @@
+package TestAppC3Fail::Schema::DB;
+
+use strict;
+use warnings;
+
+use base 'DBIx::Class::Schema';
+
+__PACKAGE__->load_classes;
+
+1;
+