#!/usr/bin/env perl use strict; use warnings; use MooseX::Declare; use Test::More tests => 5; namespace Foo::Bar; sub base { __PACKAGE__ } class ::Baz { sub TestPackage::baz { __PACKAGE__ } } role ::Fnording { sub TestPackage::fnord { __PACKAGE__ } } class ::Qux extends ::Baz with ::Fnording { sub TestPackage::qux { __PACKAGE__ } } is( base(), 'main', 'namespace does not affect package' ); is( TestPackage->baz, 'Foo::Bar::Baz', 'relative namespace works' ); is( TestPackage->qux, 'Foo::Bar::Qux', 'relative superclass works' ); is( TestPackage->fnord, 'Foo::Bar::Fnording', 'relative namespace works in role' ); ok( Foo::Bar::Qux->does('Foo::Bar::Fnording'), 'relative role namespaces work' );