use_ok(
'HTML::FormHandler::Params'
);
my
$p1
= {
'book.author'
=>
'J.Doe'
,
'book.title'
=>
'Doing something'
,
'book.date'
=>
'2002'
,
};
my
$p1_exp
= HTML::FormHandler::Params->expand_hash(
$p1
);
is_deeply(
$p1_exp
, {
book
=> {
author
=>
'J.Doe'
,
title
=>
'Doing something'
,
date
=>
'2002'
} },
'get expanded has'
);
my
$p2
= {
'books.0.author'
=>
'Jane Doe'
,
'books.0.title'
=>
'Janes Book'
,
'books.0.date'
=>
'2003'
,
'books.1.author'
=>
'Miss Muffet'
,
'books.1.title'
=>
'Sitting on a Tuffet'
,
'books.1.date'
=>
'2004'
};
my
$p_hash
= {
books
=> [
{
author
=>
'Jane Doe'
,
title
=>
'Janes Book'
,
date
=>
'2003'
,
},
{
author
=>
'Miss Muffet'
,
title
=>
'Sitting on a Tuffet'
,
date
=>
'2004'
,
}
]
};
my
$p2_exp
= HTML::FormHandler::Params->expand_hash(
$p2
);
is_deeply(
$p2_exp
,
$p_hash
,
'get expanded hash for dot notation'
);
my
$p3
= {
'books+0+author'
=>
'Jane Doe'
,
'books+0+title'
=>
'Janes Book'
,
'books+0+date'
=>
'2003'
,
'books+1+author'
=>
'Miss Muffet'
,
'books+1+title'
=>
'Sitting on a Tuffet'
,
'books+1+date'
=>
'2004'
};
my
$p3_exp
= HTML::FormHandler::Params->expand_hash(
$p3
,
'+'
);
is_deeply(
$p3_exp
,
$p_hash
,
'get expanded hash for plus notation'
);
my
$p4
= {
'books[0]author'
=>
'Jane Doe'
,
'books[0]title'
=>
'Janes Book'
,
'books[0]date'
=>
'2003'
,
'books[1]author'
=>
'Miss Muffet'
,
'books[1]title'
=>
'Sitting on a Tuffet'
,
'books[1]date'
=>
'2004'
};
my
$p4_exp
= HTML::FormHandler::Params->expand_hash(
$p4
,
'[]'
);
is_deeply(
$p4_exp
,
$p_hash
,
'get expanded hash for bracket notation'
);
my
$p5
= {
'book.author'
=>
'Jane Doe'
,
'book.title'
=>
'Janes Book'
,
'book.date'
=>
'2003'
,
};
my
$p5_hash
= {
book
=>
{
author
=>
'Jane Doe'
,
title
=>
'Janes Book'
,
date
=>
'2003'
,
},
};
my
$p5_exp
= HTML::FormHandler::Params->expand_hash(
$p5
);
is_deeply(
$p5_exp
,
$p5_hash
,
'get hash from single brackets'
);