[master 6/8] Add a test for hidden translatable strings

dashea installerbot-noreply at redhat.com
Thu Nov 5 20:12:34 UTC 2015


From: David Shea <dshea at redhat.com>

These strings are not displayed nor, as far as I can tell, used by
screen readers or other a11y applications, so do not crud up the .pot
file with them.
---
 tests/glade/check_hidden_translatable.py | 52 ++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)
 create mode 100644 tests/glade/check_hidden_translatable.py

diff --git a/tests/glade/check_hidden_translatable.py b/tests/glade/check_hidden_translatable.py
new file mode 100644
index 0000000..2e53241
--- /dev/null
+++ b/tests/glade/check_hidden_translatable.py
@@ -0,0 +1,52 @@
+#
+# Copyright (C) 2015  Red Hat, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published
+# by the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+# Author: David Shea <dshea at redhat.com>
+#
+
+from gladecheck import GladeTest
+
+class CheckTranslatableTreeview(GladeTest):
+    def checkGlade(self, glade_tree):
+        """Check that unshown GtkTreeview column headers are not translatable.
+
+           These values are not displayed and should not be translated.
+        """
+
+        # Look for
+        # <object class="GtkTreeView">
+        #   <property name="headers_visible">False</property>
+        #   ...
+        #   <child>
+        #     <object class="GtkTreeViewColumn">
+        #       <property name="title" translatable="yes">...
+
+        for translatable in glade_tree.xpath(".//object[@class='GtkTreeView' and ./property[@name='headers_visible' and ./text() = 'False']]/child/object[@class='GtkTreeViewColumn']/property[@name='title' and @translatable='yes']"):
+            raise AssertionError("Translatable, hidden column found at %s:%d" % (translatable.base, translatable.sourceline))
+
+class CheckTranslatableNotebook(GladeTest):
+    def checkGlade(self, glade_tree):
+        """Check that unshown GtkNotebook tabs are not translatable."""
+
+        # Look for
+        # <object class="GtkNotebook">
+        #   <property name="show_tabs">False</property>
+        #   ...
+        #   <child type="tab">
+        #      ... (probably a GtkLabel but doesn't have to be)
+        #       <property name="label" translatable="yes">...
+        for translatable in glade_tree.xpath(".//object[@class='GtkNotebook' and ./property[@name='show_tabs' and ./text() = 'False']]/child[@type='tab']//property[@name='label' and @translatable='yes']"):
+            raise AssertionError("Translatable, hidden tab found at %s:%d" % (translatable.base, translatable.sourceline))


-- 
To view this commit on github, visit https://github.com/rhinstaller/anaconda/commit/cddc7132c33ef3864ad312440eb61b6c2d3458fb


More information about the anaconda-patches mailing list