#!/usr/bin/env perl
use strict;
use warnings;
-use Test::More tests => 2;
+use Test::More tests => 1;
require Mouse;
-ok($INC{"Mouse/Object.pm"}, "loading Mouse loads Mouse::Object");
-can_ok('Mouse::Object' => 'new');
+can_ok('Mouse::Object' => 'new');
--- /dev/null
+#!perl
+use strict;
+use warnings;
+
+use Test::More tests => 17;
+
+{
+ package Foo;
+ use Mouse;
+
+ sub code { 42 }
+
+ our $scalar = 'bar';
+
+ our %hash = (a => 'b');
+
+ our @array = ('foo');
+}
+
+my $meta = Foo->meta;
+
+foreach my $sym(qw(&code $scalar %hash @array *code *scalar *hash *array)){
+ ok $meta->has_package_symbol($sym), "has_package_symbol('$sym')";
+}
+
+ok !$meta->has_package_symbol('$hogehoge');
+ok !$meta->has_package_symbol('%array');
+
+is $meta->get_package_symbol('&code'), \&Foo::code;
+is $meta->get_package_symbol('$scalar'), \$Foo::scalar;
+is $meta->get_package_symbol('%hash'), \%Foo::hash;
+is $meta->get_package_symbol('@array'), \@Foo::array;
+is $meta->get_package_symbol('*code'), \*Foo::code;
+
+is $meta->get_package_symbol('$hogehoge'), undef;
+is $meta->get_package_symbol('%array'), undef;
+
--- /dev/null
+#!perl
+use strict;
+use warnings;
+
+use Test::More tests => 6;
+
+use Mouse ();
+
+can_ok('Mouse::Meta::Class', 'meta');
+can_ok('Mouse::Meta::Role', 'meta');
+
+my $meta = Mouse::Meta::Class->meta;
+can_ok($meta->constructor_class, 'meta');
+can_ok($meta->destructor_class, 'meta');
+can_ok($meta->attribute_metaclass, 'meta');
+
+can_ok($meta->get_method('is_anon_class'), 'meta');
+