Config-Model
view release on metacpan or search on metacpan
# -*- cperl -*-
use ExtUtils::testlib;
use Test::More;
use Test::Exception;
use Test::Differences;
use Test::Memory::Cycle;
use Test::Synopsis::Expectation;
use Config::Model;
use Config::Model::Tester::Setup qw/init_test/;
use Test::Log::Log4perl;
use strict;
use warnings;
use lib "t/lib";
use utf8;
Test::Log::Log4perl->ignore_priority("info");
synopsis_ok('lib/Config/Model/Loader.pm');
my ($model, $trace) = init_test();
# See caveats in Test::More doc
my $builder = Test::More->builder;
binmode $builder->output, ":encoding(UTF-8)";
binmode $builder->failure_output, ":encoding(UTF-8)";
binmode $builder->todo_output, ":encoding(UTF-8)";
binmode STDOUT, ':encoding(UTF-8)';
binmode STDERR, ':encoding(UTF-8)';
ok( 1, "compiled" );
subtest "split command" => sub {
my @tests = (
[ qq!#"root comment " std_id:ab X=Bv -\na_string="titi and\nfoo"!, '#"root comment "', 'std_id:ab', 'X=Bv', '-', qq!a_string="titi and\nfoo"!],
[ q!std_id:~"/a\".*/"!, ],
[ q!std_id:~"a\".*"!, ],
[ q!a:~/b.*/.="\"a"! ],
[ q!a:~"b.*".="\"a"! ],
[ q!m:=a,"a b "! ],
[ q!a:=~"s/.*\".*/c/g"! ],
[ qq!#'root comment ' std_id:ab X=Bv -\na_string='titi and\nfoo'!, q!#'root comment '!, 'std_id:ab', 'X=Bv', '-', qq!a_string='titi and\nfoo'!],
[ q!std_id:~'/a\'.*/'!, ],
[ q!std_id:~'a\'.*'!, ],
[ q!a:~/b.*/.='\'a'! ],
[ q!a:~'b.*'.='\'a'! ],
[ q!m:=a,'a b '! ],
[ q!a:=~'s/.*\'.*/c/g'! ],
);
foreach my $subtest (@tests) {
my ( $str, @command ) = @$subtest;
push @command, $str unless @command;
my @res = Config::Model::Loader::_split_string($str);
my $label = length $str > 20 ? substr($str,0,20).'...' : $str;
eq_or_diff( \@res, \@command, "test _split_string with '$label'" );
}
};
subtest "mega regexp" => sub {
my $big_list = '"dh-autoreconf","pkg-config","debhelper-compat (= 12)","dh-autotools (> 3)"';
( run in 1.352 second using v1.01-cache-2.11-cpan-39bf76dae61 )