App-NDTools
view release on metacpan or search on metacpan
t/bin/ndproc-Merge.t view on Meta::CPAN
cmd => [ @cmd, '--source', "_cfg.gamma.json", "$test.0.got", "$test.1.got" ],
test => sub {
files_eq_or_diff("$test.0.exp", "$test.0.got", $test) and
files_eq_or_diff("$test.1.exp", "$test.1.got", $test)
},
clean => [ "$test.0.got", "$test.1.got" ],
);
$test = "path";
run_ok(
name => $test,
pre => sub { copy("_cfg.alpha.json", "$test.got") },
cmd => [ @cmd, '--source', "_cfg.beta.json", '--merge', '{files}', '--merge', '{mtime}', "$test.got" ],
test => sub { files_eq_or_diff("$test.exp", "$test.got", $test) },
);
$test = "preserve";
run_ok(
name => $test,
pre => sub { copy("_cfg.alpha.json", "$test.got") },
cmd => [ @cmd, '--source', "_cfg.beta.json", '--style', 'R_REPLACE', '--preserve', '{fqdn}', "$test.got" ],
test => sub { files_eq_or_diff("$test.exp", "$test.got", $test) },
);
$test = "source_self";
run_ok(
name => $test,
pre => sub { copy("_cfg.alpha.json", "$test.got") },
cmd => [ @cmd, '--rules', "$test.rules.json", '--dump-blame', "$test.blame.got", "$test.got" ],
test => sub {
files_eq_or_diff("$test.exp", "$test.got", $test) and
files_eq_or_diff("$test.blame.exp", "$test.blame.got", $test)
},
clean => [ "$test.got", "$test.blame.got" ],
);
$test = "sequent_merge";
run_ok(
name => $test,
pre => sub { copy("_cfg.alpha.json", "$test.got") },
cmd => [ @cmd, '--source', "_cfg.beta.json", '--source', "_cfg.gamma.json", '--dump-blame', "$test.blame.got", "$test.got" ],
test => sub {
files_eq_or_diff("$test.exp", "$test.got", $test) and
files_eq_or_diff("$test.blame.exp", "$test.blame.got", $test)
},
clean => [ "$test.got", "$test.blame.got" ],
);
$test = "style";
run_ok(
name => $test,
pre => sub { copy("_cfg.alpha.json", "$test.got") },
cmd => [ @cmd, '--source', "_cfg.beta.json", '--merge', '{files}', '--style', 'L_OVERRIDE', '--merge', '{mtime}', "$test.got" ],
test => sub { files_eq_or_diff("$test.exp", "$test.got", $test) },
);
$test = "strict_default"; # strict enabled by default
run_ok(
name => $test,
pre => sub { copy("_cfg.alpha.json", "$test.got") },
cmd => [ @cmd, '--source', "_cfg.beta.json", '--merge', '{not_exists}', "$test.got" ],
stderr => qr/ FATAL] No such path '\{not_exists\}' in /,
test => sub { files_eq_or_diff("_cfg.alpha.json", "$test.got", $test) },
exit => 4,
);
$test = "strict_enabled";
run_ok(
name => $test,
pre => sub { copy("_cfg.alpha.json", "$test.got") },
cmd => [ @cmd, '--source', "_cfg.beta.json", '--strict', '--merge', '{not_exists}', "$test.got" ],
stderr => qr/ FATAL] No such path '\{not_exists\}' in /,
test => sub { files_eq_or_diff("_cfg.alpha.json", "$test.got", $test) },
exit => 4,
);
$test = "strict_disabled";
run_ok(
name => $test,
pre => sub { copy("_cfg.alpha.json", "$test.got") },
cmd => [ @cmd, '--source', "_cfg.beta.json", '--strict', '--merge', '{not_exists}', '--nostrict', '--merge', '{mtime}', "$test.got" ],
test => sub { files_eq_or_diff("$test.exp", "$test.got", $test) },
);
( run in 2.045 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )