X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Fstorage%2Freplicated.t;h=79201e1165fff71809abbc3b5dd6d8b656ce1888;hb=1e1cc55ea27a0f41b4f300b41de94e4d2f45d12d;hp=82c809d306598775281f629e894fb235d107dcce;hpb=1f9ae1a378e692a83c39da3a1c2cab60bb4a5591;p=dbsrgits%2FDBIx-Class.git diff --git a/t/storage/replicated.t b/t/storage/replicated.t index 82c809d..79201e1 100644 --- a/t/storage/replicated.t +++ b/t/storage/replicated.t @@ -7,23 +7,12 @@ use Test::More; use DBIx::Class::_Util 'modver_gt_or_eq_and_lt'; use lib qw(t/lib); use DBICTest; - -BEGIN { - plan skip_all => "A trial version of Moose detected known to break replication - skipping test known to fail" if ( - DBICTest::RunMode->is_smoker - and - modver_gt_or_eq_and_lt( 'Moose', '1.99', '1.9903' ) - ) -} - -use Test::Moose; +use Class::Inspector; use Test::Exception; use List::Util 'first'; use Scalar::Util 'reftype'; use File::Spec; -use Moose(); -use MooseX::Types(); -note "Using Moose version $Moose::VERSION and MooseX::Types version $MooseX::Types::VERSION"; +use Moo::Role (); my $var_dir = quotemeta ( File::Spec->catdir(qw/t var/) ); @@ -32,9 +21,7 @@ use DBIx::Class::Storage::DBI::Replicated; { package DBIx::Class::Storage::DBI::Replicated; - use Moose; - - __PACKAGE__->meta->make_mutable; + use Moo; around connect_info => sub { my ($next, $self, $info) = @_; @@ -42,12 +29,14 @@ use DBIx::Class::Storage::DBI::Replicated; $self->$next($info); }; - __PACKAGE__->meta->make_immutable; - - no Moose; } - +sub does_ok($$;$) { + my ($thing, $role, $desc) = @_; + $desc ||= 'The object'; + local $Test::Builder::Level = $Test::Builder::Level + 1; + ok Moo::Role::does_role($thing, $role), "$desc does $role"; +} =head1 HOW TO USE @@ -270,11 +259,11 @@ for my $method (qw/by_connect_info by_storage_type/) { ### check that all Storage::DBI methods are handled by ::Replicated { - my @storage_dbi_methods = Class::MOP::Class - ->initialize('DBIx::Class::Storage::DBI')->get_all_method_names; + my @storage_dbi_methods = @{Class::Inspector + ->methods('DBIx::Class::Storage::DBI')}; - my @replicated_methods = DBIx::Class::Storage::DBI::Replicated->meta - ->get_all_method_names; + my @replicated_methods = @{Class::Inspector + ->methods('DBIx::Class::Storage::DBI::Replicated')}; # remove constants and OTHER_CRAP @storage_dbi_methods = grep !/^[A-Z_]+\z/, @storage_dbi_methods; @@ -283,8 +272,7 @@ for my $method (qw/by_connect_info by_storage_type/) { @storage_dbi_methods = grep !/_accessor\z/, @storage_dbi_methods; # remove DBIx::Class (the root parent, with CAG and stuff) methods - my @root_methods = Class::MOP::Class->initialize('DBIx::Class') - ->get_all_method_names; + my @root_methods = @{Class::Inspector->methods('DBIx::Class')}; my %count; $count{$_}++ for (@storage_dbi_methods, @root_methods); @@ -318,9 +306,6 @@ for my $method (qw/by_connect_info by_storage_type/) { } } -ok $replicated->schema->storage->meta - => 'has a meta object'; - isa_ok $replicated->schema->storage->master => 'DBIx::Class::Storage::DBI';