Tweaks and documenting Mouse::Exporter
[gitmo/Mouse.git] / t / 020-load-class.t
index 0373459..705c0db 100644 (file)
@@ -1,14 +1,22 @@
 #!/usr/bin/env perl
 use strict;
 use warnings;
-use Test::More tests => 5;
+use Test::More tests => 11;
 use Test::Exception;
 
 require Mouse;
 use lib 't/lib';
 
-ok(Mouse::load_class('Anti::Mouse'));
-can_ok('Anti::Mouse' => 'antimouse');
+ok(!Mouse::is_class_loaded(), "is_class_loaded with no argument returns false");
+ok(!Mouse::is_class_loaded(''), "can't load the empty class");
+ok(!Mouse::is_class_loaded(\"foo"), "can't load a class name reference??");
+
+throws_ok { Mouse::load_class()       } qr/Invalid class name \(undef\)/;
+throws_ok { Mouse::load_class('')     } qr/Invalid class name \(\)/;
+throws_ok { Mouse::load_class(\"foo") } qr/Invalid class name \(SCALAR\(\w+\)\)/;
+
+ok(Mouse::load_class('Unsweetened'));
+can_ok('Unsweetened' => 'unsweetened');
 
 do {
     package Class;
@@ -22,6 +30,6 @@ throws_ok {
 } qr/Can't locate /;
 
 throws_ok {
-    Mouse::load_class('Anti::MouseError');
+    Mouse::load_class('SyntaxError');
 } qr/Missing right curly/;