mirror of
https://github.com/genodelabs/genode.git
synced 2025-04-07 19:34:56 +00:00
parent
d75c5f6722
commit
9438caa6a3
@ -891,15 +891,17 @@ class Genode::Xml_node
|
||||
if (_num_sub_nodes == 0)
|
||||
return;
|
||||
|
||||
Xml_node node = sub_node();
|
||||
for (int i = 0; ; node = node.next()) {
|
||||
try {
|
||||
Xml_node node = sub_node();
|
||||
for (int i = 0; ; node = node.next()) {
|
||||
|
||||
if (!type || node.has_type(type))
|
||||
fn(node);
|
||||
if (!type || node.has_type(type))
|
||||
fn(node);
|
||||
|
||||
if (++i == _num_sub_nodes)
|
||||
break;
|
||||
}
|
||||
if (++i == _num_sub_nodes)
|
||||
break;
|
||||
}
|
||||
} catch (Nonexistent_sub_node) { }
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -103,6 +103,8 @@
|
||||
[init -> test-xml_node] step 4
|
||||
[init -> test-xml_node] step 5
|
||||
[init -> test-xml_node]
|
||||
[init -> test-xml_node] -- Test iterating over invalid node --
|
||||
[init -> test-xml_node]
|
||||
[init -> test-xml_node] --- End of XML-parser test ---*
|
||||
[init] child "test-xml_node" exited with exit value 0
|
||||
</log>
|
||||
|
@ -413,6 +413,13 @@ void Component::construct(Genode::Env &env)
|
||||
test_decoded_content<0 >(env, 5, xml_test_comments, 8, 119);
|
||||
log("");
|
||||
|
||||
log("-- Test iterating over invalid node --");
|
||||
{
|
||||
/* this must not raise a 'Nonexistent_sub_node' exception */
|
||||
Xml_node("<a><b></c></a>").for_each_sub_node("c", [&] (Xml_node) { });
|
||||
}
|
||||
log("");
|
||||
|
||||
log("--- End of XML-parser test ---");
|
||||
env.parent().exit(0);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user