data tree FEATURE use hashes of data nodes to be able to compare them effectively
diff --git a/tests/src/test_parser_xml.c b/tests/src/test_parser_xml.c
index 66ad1b0..9ade723 100644
--- a/tests/src/test_parser_xml.c
+++ b/tests/src/test_parser_xml.c
@@ -56,6 +56,7 @@
     (void) state; /* unused */
 
     const char *schema_a = "module a {namespace urn:tests:a;prefix a;yang-version 1.1;"
+            "list l1 { key \"a b\"; leaf a {type string;} leaf b {type string;} leaf c {type string;}}"
             "leaf foo { type string;}"
             "anydata any {config false;} }";
 
@@ -141,11 +142,34 @@
     *state = NULL;
 }
 
+static void
+test_list(void **state)
+{
+    *state = test_list;
+
+    const char *data = "<l1 xmlns=\"urn:tests:a\"><a>one</a><b>one</b><c>one</c></l1>";
+    struct lyd_node *tree, *iter;
+    struct lyd_node_inner *list;
+
+    assert_int_equal(LY_SUCCESS, lyd_parse_xml(ctx, data, 0, &tree));
+    assert_non_null(tree);
+    assert_int_equal(LYS_LIST, tree->schema->nodetype);
+    assert_string_equal("l1", tree->schema->name);
+    list = (struct lyd_node_inner*)tree;
+    LY_LIST_FOR(list->child, iter) {
+        assert_int_not_equal(0, iter->hash);
+    }
+
+    lyd_free_all(tree);
+    *state = NULL;
+}
+
 int main(void)
 {
     const struct CMUnitTest tests[] = {
         cmocka_unit_test_setup_teardown(test_leaf, setup, teardown),
         cmocka_unit_test_setup_teardown(test_anydata, setup, teardown),
+        cmocka_unit_test_setup_teardown(test_list, setup, teardown),
     };
 
     return cmocka_run_group_tests(tests, NULL, NULL);