[tepl] MetadataStore: moar unit tests!
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tepl] MetadataStore: moar unit tests!
- Date: Wed, 1 Apr 2020 00:05:24 +0000 (UTC)
commit 115a632812c38d6f089af77ec9b2b7a3c6d50f12
Author: Sébastien Wilmet <swilmet gnome org>
Date: Wed Apr 1 00:48:13 2020 +0200
MetadataStore: moar unit tests!
Nice, found another bug.
tepl/tepl-metadata-store.c | 1 +
testsuite/test-metadata-store.c | 21 +++++++++++++++++++++
.../test-metadata-store/document-with-no-entry.xml | 4 ++++
testsuite/test-metadata-store/empty-key.xml | 5 +++++
.../test-metadata-store/expected-to-fail-01.xml | 2 ++
.../test-metadata-store/expected-to-fail-02.xml | 4 ++++
.../test-metadata-store/expected-to-fail-03.xml | 5 +++++
.../test-metadata-store/expected-to-fail-04.xml | 5 +++++
.../test-metadata-store/expected-to-fail-05.xml | 5 +++++
.../test-metadata-store/expected-to-fail-06.xml | 5 +++++
.../test-metadata-store/new-format-version.xml | 6 ++++++
11 files changed, 63 insertions(+)
---
diff --git a/tepl/tepl-metadata-store.c b/tepl/tepl-metadata-store.c
index 2e340c7..1062470 100644
--- a/tepl/tepl-metadata-store.c
+++ b/tepl/tepl-metadata-store.c
@@ -545,6 +545,7 @@ parse_entry_element (GMarkupParseContext *context,
G_MARKUP_ERROR_MISSING_ATTRIBUTE,
/* Translators: do not translate <entry>, “key” and “value”. */
_("The <entry> element must contain the “key” and “value” attributes."));
+ return;
}
insert_entry_to_current_document (parsing_data, key, value);
diff --git a/testsuite/test-metadata-store.c b/testsuite/test-metadata-store.c
index 3bd1814..4f337cd 100644
--- a/testsuite/test-metadata-store.c
+++ b/testsuite/test-metadata-store.c
@@ -185,6 +185,26 @@ static void
test_expected_to_fail (void)
{
check_load_test_data_filename ("expected-to-fail-00-empty.xml");
+ check_load_test_data_filename ("expected-to-fail-01.xml");
+ check_load_test_data_filename ("expected-to-fail-02.xml");
+ check_load_test_data_filename ("expected-to-fail-03.xml");
+ check_load_test_data_filename ("expected-to-fail-04.xml");
+ check_load_test_data_filename ("expected-to-fail-05.xml");
+ check_load_test_data_filename ("expected-to-fail-06.xml");
+}
+
+static void
+test_expected_to_succeed (void)
+{
+ check_load_test_data_filename ("document-with-no-entry.xml");
+ check_load_test_data_filename ("empty-key.xml");
+ check_load_test_data_filename ("from-old-metadata-manager.xml");
+ check_load_test_data_filename ("gcsvedit-one-entry.xml");
+ check_load_test_data_filename ("max-num-locations-after.xml");
+ check_load_test_data_filename ("max-num-locations-before.xml");
+ check_load_test_data_filename ("metadata-tag-only.xml");
+ check_load_test_data_filename ("new-format-version.xml");
+ check_load_test_data_filename ("one-entry-markup-escape.xml");
}
static void
@@ -439,6 +459,7 @@ main (int argc,
gtk_test_init (&argc, &argv);
g_test_add_func ("/metadata_store/expected_to_fail", test_expected_to_fail);
+ g_test_add_func ("/metadata_store/expected_to_succeed", test_expected_to_succeed);
g_test_add_func ("/metadata_store/load_non_existing_store_file", test_load_non_existing_store_file);
g_test_add_func ("/metadata_store/empty_store", test_empty_store);
g_test_add_func ("/metadata_store/load_xml_from_old_metadata_manager",
test_load_xml_from_old_metadata_manager);
diff --git a/testsuite/test-metadata-store/document-with-no-entry.xml
b/testsuite/test-metadata-store/document-with-no-entry.xml
new file mode 100644
index 0000000..1057818
--- /dev/null
+++ b/testsuite/test-metadata-store/document-with-no-entry.xml
@@ -0,0 +1,4 @@
+<metadata>
+ <document uri="file:///foo" atime="1585677677045">
+ </document>
+</metadata>
diff --git a/testsuite/test-metadata-store/empty-key.xml b/testsuite/test-metadata-store/empty-key.xml
new file mode 100644
index 0000000..648597d
--- /dev/null
+++ b/testsuite/test-metadata-store/empty-key.xml
@@ -0,0 +1,5 @@
+<metadata>
+ <document uri="file:///foo" atime="1585677677045">
+ <entry key="" value="no key no chocolate" />
+ </document>
+</metadata>
diff --git a/testsuite/test-metadata-store/expected-to-fail-01.xml
b/testsuite/test-metadata-store/expected-to-fail-01.xml
new file mode 100644
index 0000000..da0fe3b
--- /dev/null
+++ b/testsuite/test-metadata-store/expected-to-fail-01.xml
@@ -0,0 +1,2 @@
+<thats_not_a_metadata_element>
+</thats_not_a_metadata_element>
diff --git a/testsuite/test-metadata-store/expected-to-fail-02.xml
b/testsuite/test-metadata-store/expected-to-fail-02.xml
new file mode 100644
index 0000000..24cc661
--- /dev/null
+++ b/testsuite/test-metadata-store/expected-to-fail-02.xml
@@ -0,0 +1,4 @@
+<metadata>
+ <thats_not_a_document_element>
+ </thats_not_a_document_element>
+</metadata>
diff --git a/testsuite/test-metadata-store/expected-to-fail-03.xml
b/testsuite/test-metadata-store/expected-to-fail-03.xml
new file mode 100644
index 0000000..4a272c6
--- /dev/null
+++ b/testsuite/test-metadata-store/expected-to-fail-03.xml
@@ -0,0 +1,5 @@
+<metadata>
+ <document uri="file:///home/seb/test-semicolon.csv" atime="hey-not-valid-here">
+ <entry key="gcsvedit-delimiter" value=";" />
+ </document>
+</metadata>
diff --git a/testsuite/test-metadata-store/expected-to-fail-04.xml
b/testsuite/test-metadata-store/expected-to-fail-04.xml
new file mode 100644
index 0000000..5e61437
--- /dev/null
+++ b/testsuite/test-metadata-store/expected-to-fail-04.xml
@@ -0,0 +1,5 @@
+<metadata>
+ <document uri="file:///look/atime/will/be/missing.csv">
+ <entry key="gcsvedit-delimiter" value=";" />
+ </document>
+</metadata>
diff --git a/testsuite/test-metadata-store/expected-to-fail-05.xml
b/testsuite/test-metadata-store/expected-to-fail-05.xml
new file mode 100644
index 0000000..998ac91
--- /dev/null
+++ b/testsuite/test-metadata-store/expected-to-fail-05.xml
@@ -0,0 +1,5 @@
+<metadata>
+ <document uri="file:///home/seb/test-semicolon.csv" atime="1585677677045">
+ <this_is_not_an_entry_element key="gcsvedit-delimiter" value=";" />
+ </document>
+</metadata>
diff --git a/testsuite/test-metadata-store/expected-to-fail-06.xml
b/testsuite/test-metadata-store/expected-to-fail-06.xml
new file mode 100644
index 0000000..1e7e5e9
--- /dev/null
+++ b/testsuite/test-metadata-store/expected-to-fail-06.xml
@@ -0,0 +1,5 @@
+<metadata>
+ <document uri="file:///home/seb/test-semicolon.csv" atime="1585677677045">
+ <entry key="ho_nooooo_value_attribute" />
+ </document>
+</metadata>
diff --git a/testsuite/test-metadata-store/new-format-version.xml
b/testsuite/test-metadata-store/new-format-version.xml
new file mode 100644
index 0000000..a48aa87
--- /dev/null
+++ b/testsuite/test-metadata-store/new-format-version.xml
@@ -0,0 +1,6 @@
+<!-- Add additional attributes, should be forward-compatible. -->
+<metadata version="2">
+ <document uri="file:///foo" atime="158567767704599999" space_craft="borg17">
+ <entry key="a_key" value="a_value" origin="earth" />
+ </document>
+</metadata>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]