1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
use strict;
use warnings;
use Test::More;
use Test::Warn;
use Syntax::Highlight::Engine::Kate;
my @languages = ('Perl', 'PHP (HTML)', 'PHP/PHP');
plan tests => 2 + scalar @languages;
foreach my $language (@languages) {
my $hl = Syntax::Highlight::Engine::Kate->new(
language => $language,
);
isa_ok($hl, 'Syntax::Highlight::Engine::Kate');
}
subtest klingon => sub {
plan tests => 2;
my $err;
warnings_like {
eval {
Syntax::Highlight::Engine::Kate->new(
language => 'Klingon',
);
};
$err = $@;
} {carped => [qr{undefined language: 'Klingon'}, qr{cannot create plugin for language 'Klingon'}]}, 'warn';
like $err, qr{Plugin for language 'Klingon' could not be found};
};
subtest basecontext => sub {
plan tests => 2;
my $err;
warnings_like {
eval {
Syntax::Highlight::Engine::Kate->new(
language => 'PHP (HTML) ',
);
};
$err = $@;
} {carped => [qr{undefined language: 'PHP \(HTML\) '}, qr{cannot create plugin for language 'PHP \(HTML\) '}]}, 'warn';
like $err, qr{Plugin for language 'PHP \(HTML\) ' could not be found};
};
|