X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F90ensure_class_loaded.t;h=c901d06b465192847c0c7b0ab407f7d7a8f09b07;hb=9e1b549a32fd3457ff65e8cff959c947e941510c;hp=672450b1af0a0b79cd5cde2c0696fc863474915a;hpb=efe6365bc168c25205c527e0e088bd7229a3575b;p=dbsrgits%2FDBIx-Class.git diff --git a/t/90ensure_class_loaded.t b/t/90ensure_class_loaded.t index 672450b..c901d06 100644 --- a/t/90ensure_class_loaded.t +++ b/t/90ensure_class_loaded.t @@ -13,7 +13,7 @@ BEGIN { my $schema = DBICTest->init_schema(); -plan tests => 17; +plan tests => 19; # Test ensure_class_found ok( $schema->ensure_class_found('DBIx::Class::Schema'), @@ -37,7 +37,8 @@ $retval = eval { $schema->load_optional_class('DBICTest::OptionalComponent') }; ok( !$@, 'load_optional_class on an existing class did not throw' ); ok( $retval, 'DBICTest::OptionalComponent loaded' ); eval { $schema->load_optional_class('DBICTest::ErrorComponent') }; -like( $@, qr/did not return a true value/, 'DBICTest::ErrorComponent threw ok' ); +like( $@, qr/did not return a true value/, + 'DBICTest::ErrorComponent threw ok' ); # Test ensure_class_loaded ok( Class::Inspector->loaded('TestPackage::A'), 'anonymous package exists' ); @@ -53,4 +54,22 @@ ok( !$@, 'ensure_class_loaded detected an existing but non-loaded class' ); ok( Class::Inspector->loaded('DBICTest::FakeComponent'), 'DBICTest::FakeComponent now loaded' ); +{ + # Squash warnings about syntax errors in SytaxErrorComponent.pm + local $SIG{__WARN__} = sub { + my $warning = shift; + warn $warning unless ( + $warning =~ /String found where operator expected/ or + $warning =~ /Missing operator before/ + ); + }; + + eval { $schema->ensure_class_loaded('DBICTest::SyntaxErrorComponent1') }; + like( $@, qr/syntax error/, + 'ensure_class_loaded(DBICTest::SyntaxErrorComponent1) threw ok' ); + eval { $schema->load_optional_class('DBICTest::SyntaxErrorComponent2') }; + like( $@, qr/syntax error/, + 'load_optional_class(DBICTest::SyntaxErrorComponent2) threw ok' ); +} + 1;