gnucash master: Fix commodity namespace tests

Geert Janssens gjanssens at code.gnucash.org
Wed Jun 21 04:12:00 EDT 2017


Updated	 via  https://github.com/Gnucash/gnucash/commit/823b41d6 (commit)
	from  https://github.com/Gnucash/gnucash/commit/f3eeda3a (commit)



commit 823b41d6297be7511fb42b926ad3171ec9dc23d8
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Wed Jun 21 10:11:54 2017 +0200

    Fix commodity namespace tests
    
    While new files will use CURRENCY to indicate a commodity is a currency,
    older files (including our ancient test files) are still using
    ISO4217. So we need to expect both values in the xml file tests.
    This is different from file loading (which will automatically map
    ISO4217 to CURRENCY) and file saving (which will from now on always
    write CURRENCY).

diff --git a/src/backend/xml/test/test-xml-commodity.cpp b/src/backend/xml/test/test-xml-commodity.cpp
index 8da5956..13df954 100644
--- a/src/backend/xml/test/test-xml-commodity.cpp
+++ b/src/backend/xml/test/test-xml-commodity.cpp
@@ -69,8 +69,14 @@ node_and_commodity_equal (xmlNodePtr node, const gnc_commodity* com)
         }
         else if (g_strcmp0 ((char*)mark->name, "cmdty:space") == 0)
         {
+            /* Currency namespace is now stored as GNC_COMMODITY_NS_CURRENCY
+             * but used to be stored as GNC_COMMODITY_NS_ISO,
+             * so check both to cater for (very) old testfiles. */
             if (!equals_node_val_vs_string (
-                    mark, gnc_commodity_get_namespace (com)))
+                    mark, gnc_commodity_get_namespace (com)) &&
+                !((g_strcmp0 (gnc_commodity_get_namespace (com), GNC_COMMODITY_NS_CURRENCY) == 0) &&
+                    equals_node_val_vs_string (
+                        mark, GNC_COMMODITY_NS_ISO)))
             {
                 return "namespaces differ";
             }



Summary of changes:
 src/backend/xml/test/test-xml-commodity.cpp | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)



More information about the gnucash-changes mailing list