testcases: t/116-*: reinvent ignore() from Test::Deep

This commit is contained in:
Maik Fischer 2011-11-23 00:10:47 +01:00 committed by Michael Stapelberg
parent 2f36351ab3
commit 6bf13b413e

View File

@ -29,28 +29,44 @@ my $i3 = i3(get_socket_path());
my $tree = $i3->get_tree->recv; my $tree = $i3->get_tree->recv;
# a unique value
my $ignore = \"";
my $expected = { my $expected = {
fullscreen_mode => 0, fullscreen_mode => 0,
nodes => ignore(), nodes => $ignore,
window => undef, window => undef,
name => 'root', name => 'root',
orientation => ignore(), orientation => $ignore,
type => 0, type => 0,
id => ignore(), id => $ignore,
rect => ignore(), rect => $ignore,
window_rect => ignore(), window_rect => $ignore,
geometry => ignore(), geometry => $ignore,
swallows => ignore(), swallows => $ignore,
percent => undef, percent => undef,
layout => 'default', layout => 'default',
focus => ignore(), focus => $ignore,
focused => JSON::XS::false, focused => JSON::XS::false,
urgent => JSON::XS::false, urgent => JSON::XS::false,
border => 'normal', border => 'normal',
'floating_nodes' => ignore(), 'floating_nodes' => $ignore,
}; };
is_deeply($tree, $expected, 'root node OK'); # a shallow copy is sufficient, since we only ignore values at the root
my $tree_copy = { %$tree };
for (keys %$expected) {
my $val = $expected->{$_};
# delete unwanted keys, so we can use is_deeply()
if (ref($val) eq 'SCALAR' and $val == $ignore) {
delete $tree_copy->{$_};
delete $expected->{$_};
}
}
is_deeply($tree_copy, $expected, 'root node OK');
my @nodes = @{$tree->{nodes}}; my @nodes = @{$tree->{nodes}};