The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
use warnings;
use strict;

package Wifty::UI;
use base qw/Template::Declare/;
use Template::Declare::Tags;

template 'test' => sub {
    my $self = shift;
    outs 'wowza';
};

import_templates Wifty::UI under '/here';

package Wifty::UI::Woot;
use base 'Wifty::UI';

package main;
#use Test::More tests => 19;
use Test::More 'no_plan';
use Template::Declare::Tags;
Template::Declare->init( dispatch_to => ['Wifty::UI'] );

ok +Wifty::UI->has_template('here/test'),
    'Template should be under new path';
ok +Wifty::UI->has_template('test'), 'Original template name should be visible';

ok +Wifty::UI::Woot->has_template('here/test'),
    'Moved template should be visible from subclass';
ok +Wifty::UI::Woot->has_template('test'),
    'Original template name should be visible from subclass';

ok my $out = Template::Declare->show('here/test'), 'Should get output';
is $out, 'wowza', 'Output should be correct';