Blame test_tree_processor.py-update-appdata-contents-furth.patch

Owen W. Taylor 59a5dcc
From 4bd0e74d58ebd6a12b30b0f3f34b1247a0f7e2a9 Mon Sep 17 00:00:00 2001
Owen W. Taylor 59a5dcc
From: "Owen W. Taylor" <otaylor@fishsoup.net>
Owen W. Taylor 59a5dcc
Date: Fri, 18 Dec 2020 14:51:11 -0500
Owen W. Taylor 59a5dcc
Subject: [PATCH] test_tree_processor.py: update appdata contents further
Owen W. Taylor 59a5dcc
Owen W. Taylor 59a5dcc
With latest appstream-compose <launchable> without a type is an error;
Owen W. Taylor 59a5dcc
add some asserts to make sure that the renamed test content we expect
Owen W. Taylor 59a5dcc
is actually set up properly.
Owen W. Taylor 59a5dcc
---
Owen W. Taylor 59a5dcc
 tests/test_tree_processor.py | 31 ++++++++++++++++++-------------
Owen W. Taylor 59a5dcc
 1 file changed, 18 insertions(+), 13 deletions(-)
Owen W. Taylor 59a5dcc
Owen W. Taylor 59a5dcc
diff --git a/tests/test_tree_processor.py b/tests/test_tree_processor.py
Owen W. Taylor 59a5dcc
index 47dcbca..79872ef 100644
Owen W. Taylor 59a5dcc
--- a/tests/test_tree_processor.py
Owen W. Taylor 59a5dcc
+++ b/tests/test_tree_processor.py
Owen W. Taylor 59a5dcc
@@ -15,10 +15,11 @@ APPDATA_CONTENTS = """\
Owen W. Taylor 59a5dcc
 
Owen W. Taylor 59a5dcc
 <component type="desktop">
Owen W. Taylor 59a5dcc
   <id>org.gnome.eog</id>
Owen W. Taylor 59a5dcc
-  <launchable>org.gnome.eog.desktop</launchable>
Owen W. Taylor 59a5dcc
+  <launchable type="desktop-id">org.gnome.eog.desktop</launchable>
Owen W. Taylor 59a5dcc
   <metadata_license>CC0-1.0</metadata_license>
Owen W. Taylor 59a5dcc
   <project_license>GPL-2.0+ and GFDL-1.3</project_license>
Owen W. Taylor 59a5dcc
   <name>Eye of GNOME</name>
Owen W. Taylor 59a5dcc
+  <summary>Browse and rotate images</summary>
Owen W. Taylor 59a5dcc
   <description>
Owen W. Taylor 59a5dcc
     

Owen W. Taylor 59a5dcc
       The Eye of GNOME is the official image viewer for the GNOME desktop.
Owen W. Taylor 59a5dcc
@@ -26,7 +27,6 @@ APPDATA_CONTENTS = """\
Owen W. Taylor 59a5dcc
       formats for viewing single images or images in a collection.
Owen W. Taylor 59a5dcc
     

Owen W. Taylor 59a5dcc
   </description>
Owen W. Taylor 59a5dcc
-  <summary>Browse and rotate images</summary>
Owen W. Taylor 59a5dcc
 </component>
Owen W. Taylor 59a5dcc
 """
Owen W. Taylor 59a5dcc
 
Owen W. Taylor 59a5dcc
@@ -81,17 +81,23 @@ class AppTree(object):
Owen W. Taylor 59a5dcc
         appdata_contents = APPDATA_CONTENTS
Owen W. Taylor 59a5dcc
         desktop_contents = DESKTOP_CONTENTS
Owen W. Taylor 59a5dcc
 
Owen W. Taylor 59a5dcc
+        def assert_sub(pattern, replacement, string):
Owen W. Taylor 59a5dcc
+            new = re.sub(pattern, replacement, string)
Owen W. Taylor 59a5dcc
+            assert new != string
Owen W. Taylor 59a5dcc
+
Owen W. Taylor 59a5dcc
+            return new
Owen W. Taylor 59a5dcc
+
Owen W. Taylor 59a5dcc
         if rename_desktop_file:
Owen W. Taylor 59a5dcc
-            appdata_contents = re.sub(r'<id>org\.gnome\.eog</id>',
Owen W. Taylor 59a5dcc
-                                      r'<id>' + rename_desktop_file + r'</id>',
Owen W. Taylor 59a5dcc
-                                      appdata_contents)
Owen W. Taylor 59a5dcc
-            appdata_contents = re.sub(r'<launchable>org\.gnome\.eog\.desktop</launchable>',
Owen W. Taylor 59a5dcc
-                                      r'<launchable>' + rename_desktop_file + r'</launchable>',
Owen W. Taylor 59a5dcc
-                                      appdata_contents)
Owen W. Taylor 59a5dcc
+            appdata_contents = assert_sub(r'<id>org\.gnome\.eog</id>',
Owen W. Taylor 59a5dcc
+                                          r'<id>' + rename_desktop_file + r'</id>',
Owen W. Taylor 59a5dcc
+                                          appdata_contents)
Owen W. Taylor 59a5dcc
+            appdata_contents = assert_sub(r'<launchable type="desktop-id">org\.gnome\.eog\.desktop</launchable>',
Owen W. Taylor 59a5dcc
+                                          r'<launchable type="desktop-id">' + rename_desktop_file + r'</launchable>',
Owen W. Taylor 59a5dcc
+                                          appdata_contents)
Owen W. Taylor 59a5dcc
         if rename_icon:
Owen W. Taylor 59a5dcc
-            desktop_contents = re.sub(r'Icon(\[de\])?=org.gnome.eog.png',
Owen W. Taylor 59a5dcc
-                                      r'Icon\1=' + rename_icon,
Owen W. Taylor 59a5dcc
-                                      desktop_contents)
Owen W. Taylor 59a5dcc
+            desktop_contents = assert_sub(r'Icon(\[de\])?=org.gnome.eog',
Owen W. Taylor 59a5dcc
+                                          r'Icon\1=' + rename_icon,
Owen W. Taylor 59a5dcc
+                                          desktop_contents)
Owen W. Taylor 59a5dcc
 
Owen W. Taylor 59a5dcc
         if rename_appdata_file:
Owen W. Taylor 59a5dcc
             if rename_appdata_file.endswith('metainfo.xml'):
Owen W. Taylor 59a5dcc
@@ -155,9 +161,8 @@ def test_renames(app_tree,
Owen W. Taylor 59a5dcc
 
Owen W. Taylor 59a5dcc
     contents = app_tree.contents('files/share/app-info/xmls/org.gnome.eog.xml.gz',
Owen W. Taylor 59a5dcc
                                  decompress=True)
Owen W. Taylor 59a5dcc
-    print(contents)
Owen W. Taylor 59a5dcc
     assert '<id>org.gnome.eog</id>' in contents
Owen W. Taylor 59a5dcc
-    assert '<launchable>org.gnome.eog.desktop</launchable>' in contents
Owen W. Taylor 59a5dcc
+    assert '<launchable type="desktop-id">org.gnome.eog.desktop</launchable>' in contents
Owen W. Taylor 59a5dcc
 
Owen W. Taylor 59a5dcc
 
Owen W. Taylor 59a5dcc
 def test_copy_icon(app_tree):
Owen W. Taylor 59a5dcc
-- 
Owen W. Taylor 59a5dcc
2.29.2
Owen W. Taylor 59a5dcc