Config-Model
view release on metacpan or search on metacpan
t/warped_value.t view on Meta::CPAN
# -*- cperl -*-
use Test::More;
use Test::Differences;
use Test::Memory::Cycle;
use Test::Exception;
use Config::Model;
use Config::Model::ValueComputer;
use Config::Model::Tester::Setup qw/init_test/;
use strict;
use warnings;
my ($model, $trace) = init_test();
$model->create_config_class(
name => "RSlave",
element => [
recursive_slave => {
type => 'hash',
index_type => 'string',
cargo => {
type => 'node',
config_class_name => 'RSlave'
},
},
big_compute => {
type => 'hash',
index_type => 'string',
cargo => {
type => 'leaf',
value_type => 'string',
compute => {
variables => {
'm' => '! macro',
},
formula => 'macro is $m, my idx: &index, '
. 'my element &element, '
. 'upper element &element( - ), '
. 'up idx &index( - )',
}
},
},
big_replace => {
type => 'leaf',
value_type => 'string',
compute => {
formula => 'trad idx $replace{&index(-)}',
replace => {
l1 => 'level1',
l2 => 'level2'
} }
},
[qw/bar foo foo2/] => {
type => 'node',
config_class_name => 'Slave'
},
macro_replace => {
type => 'hash',
index_type => 'string',
cargo => {
type => 'leaf',
value_type => 'string',
compute => {
( run in 0.896 second using v1.01-cache-2.11-cpan-39bf76dae61 )