The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!perl -w

use Test::More;
use FindBin;
use lib (($FindBin::Bin."/lib")=~/^(.*)$/);
use Module::Pluggable::Object;
use File::Spec::Functions qw(catfile);

my ($dodgy_file) = (catfile($FindBin::Bin,"lib", "EditorJunk", "Plugin", "#Bar.pm#")=~/^(.*)$/);
unless (-f $dodgy_file) {
        plan skip_all => "Can't handle plugin names with octothorpes\n";
} else {
        plan tests => 4;
}



my $foo;
ok($foo = EditorJunk->new());

my @plugins;
my @expected = qw(EditorJunk::Plugin::Bar EditorJunk::Plugin::Foo);
ok(@plugins = sort $foo->plugins);

is_deeply(\@plugins, \@expected, "is deeply");


my $mpo = Module::Pluggable::Object->new(
    package             => 'EditorJunk',
    filename            => __FILE__,
    include_editor_junk => 1,
);

@expected = ('EditorJunk::Plugin::.#Bar', 'EditorJunk::Plugin::Bar', 'EditorJunk::Plugin::Foo');
@plugins = sort $mpo->plugins();
is_deeply(\@plugins, \@expected, "is deeply");



package EditorJunk;

use strict;
use Module::Pluggable;


sub new {
    my $class = shift;
    return bless {}, $class;

}
1;