Config-Model
view release on metacpan or search on metacpan
t/warped_node.t view on Meta::CPAN
# -*- cperl -*-
use ExtUtils::testlib;
use Test::More;
use Test::Differences;
use Test::Memory::Cycle;
use Config::Model;
use Config::Model::Tester::Setup qw/init_test/;
use strict;
use warnings ;
my ($model, $trace) = init_test();
$model->create_config_class(
name => 'SlaveY',
element => [
[qw/X Y/] => {
type => 'leaf',
value_type => 'enum',
choice => [qw/Av Bv Cv/],
warp => {
follow => '- - v_macro',
rules => {
A => { default => 'Av' },
B => { default => 'Bv' }
}
}
},
[qw/a_string a_long_string another_string/] => {
type => 'leaf',
mandatory => 1,
value_type => 'string'
},
]
);
$model->create_config_class(
name => 'SlaveZ',
element => [
[qw/X Z/] => {
type => 'leaf',
value_type => 'enum',
choice => [qw/Av Bv Cv/],
warp => {
follow => '! v_macro',
rules => {
A => { default => 'Av' },
B => { default => 'Bv' }
}
}
}
]
);
$model->create_config_class(
name => 'Master',
element => [
v_macro => {
type => 'leaf',
value_type => 'enum',
choice => [qw/A B/]
},
b_macro => { type => 'leaf', value_type => 'boolean' },
tree_macro => {
( run in 0.505 second using v1.01-cache-2.11-cpan-39bf76dae61 )