projects
/
kivitendo-erp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Artikelpreishistorie automatisch über Trigger speichern
[kivitendo-erp.git]
/
t
/
request
/
flatten.t
diff --git
a/t/request/flatten.t
b/t/request/flatten.t
index
0cfd65f
..
60b2d33
100644
(file)
--- a/
t/request/flatten.t
+++ b/
t/request/flatten.t
@@
-1,5
+1,5
@@
use Test::More;
use Test::More;
-use Test::Deep;
+use Test::Deep
qw(cmp_deeply)
;
use Data::Dumper;
use_ok 'SL::Request', qw(flatten unflatten);
use Data::Dumper;
use_ok 'SL::Request', qw(flatten unflatten);
@@
-13,8
+13,8
@@
sub f ($$$) {
my $unflat = unflatten($flat);
print Dumper($unflat) if DEBUG;
my $unflat = unflatten($flat);
print Dumper($unflat) if DEBUG;
- cmp_deeply($flat, $_[1], $_[2]);
- cmp_deeply($unflat, $_[0], $_[2]);
+ cmp_deeply($flat, $_[1], $_[2]
. " flatten"
);
+ cmp_deeply($unflat, $_[0], $_[2]
. " unflatten"
);
}
f {
}
f {
@@
-45,6
+45,15
@@
f { a => [ { c => 1, d => 2 }, { c => 3, d => 4 }, ] },
[ 'a[].d', 4 ],
], 'array of hashes';
[ 'a[].d', 4 ],
], 'array of hashes';
+f { a => [ { a => 1, b => 2 }, { a => 3, c => 4 }, ] },
+[
+ [ 'a[+].a', 1 ],
+ [ 'a[].b', 2 ],
+ [ 'a[+].a', 3 ],
+ [ 'a[].c', 4 ],
+], 'array of hashes with not existing keys';
+
+
# tests from Hash::Flatten below
f {
'x' => 1,
# tests from Hash::Flatten below
f {
'x' => 1,
@@
-55,12
+64,12
@@
f {
'q' => 4
},
}
'q' => 4
},
}
-},
bag(
+},
[
[ 'x' => 1, ],
[ 'y.a' => 2, ],
[ 'y.b.p' => 3, ],
[ 'y.b.q' => 4 ],
[ 'x' => 1, ],
[ 'y.a' => 2, ],
[ 'y.b.p' => 3, ],
[ 'y.b.q' => 4 ],
-
)
, 'Hash::Flatten 1';
+
]
, 'Hash::Flatten 1';
f {
f {
@@
-70,13
+79,13
@@
f {
},
'a' => [1,2,3],
},
},
'a' => [1,2,3],
},
-bag (
- ['x' => 1, ],
+[
['0.1' => 2, ],
['a[]' => 1, ],
['a[]' => 2, ],
['a[]' => 3, ],
['0.1' => 2, ],
['a[]' => 1, ],
['a[]' => 2, ],
['a[]' => 3, ],
-), 'Hash::Flatten 2 - weird keys and values';
+ ['x' => 1, ],
+], 'Hash::Flatten 2 - weird keys and values';
f {
f {
@@
-95,15
+104,15
@@
f {
},
]
},
},
]
},
-bag(
+[
+ [ 'ay.a' => 2, ],
[ 'ay.b.p' => 3, ],
[ 'ay.b.q' => 4, ],
[ 'ay.b.p' => 3, ],
[ 'ay.b.q' => 4, ],
- [ 'ay.a' => 2, ],
[ 'x' => 1, ],
[ 'y[]' => 'a', ],
[ 'y[]' => 2 ],
[ 'y[+].baz' => 'bum', ],
[ 'x' => 1, ],
[ 'y[]' => 'a', ],
[ 'y[]' => 2 ],
[ 'y[+].baz' => 'bum', ],
-
)
, 'Hash::Flatten 3 - mixed';
+
]
, 'Hash::Flatten 3 - mixed';
f {
'x' => 1,
f {
'x' => 1,
@@
-117,17
+126,17
@@
f {
'money',
]
},
'money',
]
},
-bag(
+[
[ 'x' => 1, ],
[ 'x' => 1, ],
- [ 'y[][]' => 'his', ],
- [ 'y[][+][]' => 'parted', ],
- [ 'y[][][]' => 'from', ],
[ 'y[+][]' => 'a', ],
[ 'y[+][]' => 'a', ],
- [ 'y[+][]' => 'easily', ],
[ 'y[][]' => 'fool', ],
[ 'y[][]' => 'is' ],
[ 'y[][]' => 'fool', ],
[ 'y[][]' => 'is' ],
+ [ 'y[+][]' => 'easily', ],
+ [ 'y[][+][]' => 'parted', ],
+ [ 'y[][][]' => 'from', ],
+ [ 'y[][]' => 'his', ],
[ 'y[]' => 'money', ],
[ 'y[]' => 'money', ],
-
)
, 'Hash::Flatten 4 - array nesting';
+
]
, 'Hash::Flatten 4 - array nesting';
f {
'x' => 1,
f {
'x' => 1,
@@
-145,15
+154,15
@@
f {
},
]
},
},
]
},
-bag(
- [ 'x' => 1, ],
- [ 's' => 'hey', ],
+[
[ 'ay.a' => 2, ],
[ 'ay.a' => 2, ],
- [ 'y[+].baz' => 'bum', ],
[ 'ay.b.p' => 3, ],
[ 'ay.b.p' => 3, ],
- [ 'y[]' => 'a', ],
[ 'ay.b.q' => 4, ],
[ 'ay.b.q' => 4, ],
+ [ 's' => 'hey', ],
+ [ 'x' => 1, ],
+ [ 'y[]' => 'a', ],
[ 'y[]' => 2 ],
[ 'y[]' => 2 ],
-), 'Hash::Flatten 5 - deep mix';
+ [ 'y[+].baz' => 'bum', ],
+], 'Hash::Flatten 5 - deep mix';
done_testing();
done_testing();