[sdk/releaseme] test: add test for manpages

Jonathan Esk-Riddell null at kde.org
Thu Oct 20 12:04:16 BST 2022


Git commit 3cf369b75fb6aa9d6fa5069d4c409e90b228c1ad by Jonathan Esk-Riddell.
Committed on 20/10/2022 at 10:39.
Pushed by sitter into branch 'master'.

add test for manpages

A  +0    -0    test/data/kded/CMakeLists.txt
A  +269  -0    test/data/kded/po/de/docs/kded5/man-kded5.8.docbook
M  +26   -0    test/l10n_test.rb

https://invent.kde.org/sdk/releaseme/commit/3cf369b75fb6aa9d6fa5069d4c409e90b228c1ad

diff --git a/test/data/kded/CMakeLists.txt b/test/data/kded/CMakeLists.txt
new file mode 100644
index 0000000..e69de29
diff --git a/test/data/kded/po/de/docs/kded5/man-kded5.8.docbook b/test/data/kded/po/de/docs/kded5/man-kded5.8.docbook
new file mode 100644
index 0000000..0046743
--- /dev/null
+++ b/test/data/kded/po/de/docs/kded5/man-kded5.8.docbook
@@ -0,0 +1,269 @@
+<?xml version="1.0" ?>
+<!DOCTYPE refentry PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN" "dtd/kdedbx45.dtd" [
+  <!ENTITY % German "INCLUDE"
+><!-- change language only here -->
+]>
+
+<refentry lang="&language;">
+
+<refentryinfo>
+<title
+>kded5-Benutzerhandbuch</title>
+<author
+><firstname
+>David</firstname
+> <surname
+>Faure</surname
+> <contrib
+>Betreuer</contrib>
+<affiliation>
+<address
+><email
+>faure at kde.org</email
+></address>
+</affiliation>
+</author>
+
+<author
+><firstname
+>Waldo</firstname
+> <surname
+>Bastian</surname
+> <contrib
+>Ursprünglicher Autor</contrib>
+<affiliation>
+<address
+><email
+>bastian at kde.org</email
+></address>
+</affiliation>
+</author>
+
+<date
+>2014-03-22</date>
+<releaseinfo
+>Frameworks 5.0</releaseinfo>
+<productname
+>KDE Frameworks</productname>
+
+</refentryinfo>
+
+<refmeta>
+<refentrytitle
+><command
+>kded5</command
+></refentrytitle>
+<manvolnum
+>8</manvolnum>
+</refmeta>
+
+<refnamediv>
+<refname
+><command
+>kded5</command
+></refname>
+<refpurpose
+>&kde;-Dienst: Löst Aktualisierungen der Sycoca-Datenbank aus, wenn erforderlich</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+<title
+>Übersicht</title>
+
+<cmdsynopsis
+><command
+>kded5</command
+> <arg choice="opt"
+>--check</arg
+> </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+<title
+>Beschreibung</title>
+
+<para
+><command
+>kded5</command
+> fasst mehrere kleine Dienste in einem Prozess zusammen. Dies sind vor allem &DBus;-Dienste von KDED-Modulen, aber verwaltet auch die Sycoca-Datenbank, einen binären Zwischenspeicher von Diensttypen, &MIME;-Typen und Diensten, die von KService benutzt werden., sowie von Aktualisierungs-Skripten für KConfig, falls nötig.</para>
+
+<para
+>Es überwacht die Ordner mit .desktop-Dateien für die Systemdatenbank mit den Einstellungen. Wenn eine neue Datei hinzugefügt oder eine vorhandene entfernt wird, wartet es 5 Sekunden (falls noch mehr Änderungen vorgenommen werden), und startet anschließend <command
+>kbuildsycoca5</command
+> um die Systemdatenbank mit den Einstellungen zu aktualisieren.</para>
+
+<para
+>Es überprüft neu installierte Aktualisierungsdateien, &ie; *upd-Dateien, die verwendet werden, um bei Änderung des Formats von Einrichtungsdateien die Einrichtungsdateien der Benutzer zu aktualisieren. Es benutzt das Aktualisierungsprogramm KConfig, um diese Aktualisierungen durchzuführen.</para>
+
+<para
+>Diese Aufgaben werden auch bei jedem Start von <command
+>kded5</command
+> durchgeführt, damit ist sichergestellt, dass die Benutzereinstellungen immer aktuell sind.</para>
+
+<para
+>Normalerweise müssen Sie <command
+>kded5</command
+> nicht direkt ausführen. In &plasma;-Sitzungen wird es automatisch ausgeführt und immer dann gestartet, wenn eine Anwendung eine &DBus;-Schnittstelle direkt oder durch eines seiner Module benutzt.</para>
+
+</refsect1>
+
+
+
+<refsect1>
+<title
+>Optionen</title>
+
+<variablelist>
+<varlistentry>
+<term
+><option
+>--check</option
+></term>
+<listitem>
+<para
+>Überprüft die Sycoca-Datenbank, aktualisiert sie wenn nötig und beendet sich dann. </para>
+</listitem>
+</varlistentry>
+</variablelist>
+</refsect1>
+
+
+
+<refsect1>
+<title
+>Einrichtung</title>
+
+<para
+><command
+>kded5</command
+> kann mit der Einrichtungsdatei <filename
+>kded5rc</filename
+> im „ini“-Stil eingestellt werden. Auf &UNIX;-Systemen finden Sie diese Datei in <filename
+><varname
+>$XDG_CONFIG_HOME</varname
+>/kded5rc</filename
+>, wenn <varname
+>$XDG_CONFIG_HOME</varname
+> nicht festgelegt ist, wird als Voreinstellung <filename
+>~/.config/kded5rc</filename
+> benutzt.</para>
+
+<para
+>Einträge in der Einrichtungsdatei werden auf Anforderung gelesen, daher können Änderungen vorgenommen werden, während <command
+>kded5</command
+> ausgeführt wird. Alle aktuellen Einrichtungs-Optionen beeinflussen jedoch nur das Startverhalten von <command
+>kded5</command
+>.</para>
+
+<para
+>Im Abschnitt <option
+>[General]</option
+> gibt es folgende Einstellungen: <variablelist>
+<varlistentry>
+<term
+><option
+>CheckSycoca</option
+></term>
+<listitem
+><para
+>Ob die Sycoca-Datenbank beim Start aktualisiert wird, Voreinstellung ist <constant
+>true</constant
+>.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term
+><option
+>CheckUpdates</option
+></term>
+<listitem
+><para
+>Ob ausstehende KConfig-Aktualisierungen beim Start durchgeführt werden. Voreinstellung ist <constant
+>true</constant
+>.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term
+><option
+>CheckFileStamps</option
+></term>
+<listitem
+><para
+>Ob die Zeitstempel der Dateien beim Ausführen der ursprünglichen Aktualisierung von „sycoca“ überprüft werden, Voreinstellung ist <constant
+>true</constant
+>, In der Dokumentation zu <command
+>kbuildsycoca5</command
+> finden Sie weitere Details.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term
+><option
+>DelayedCheck</option
+></term>
+<listitem
+><para
+>Ob das Ausführen der ursprünglichen Aktualisierung von „sycoca“ etwa eine Minute nach dem Start verzögert wird. Voreinstellung ist <constant
+>false</constant
+>.</para>
+</listitem>
+</varlistentry>
+</variablelist>
+</para>
+
+<para
+>Jedes Modul hat einen Abschnitt <option
+>[Module-<replaceable
+>name</replaceable
+>]</option
+> in der Datei <filename
+>kded5rc</filename
+>, dabei ist <replaceable
+>name</replaceable
+> der Name der Desktop-Datei des Moduls ohne die Erweiterung <filename
+>.desktop</filename
+>. Dieser Abschnitt enthält eine Option <option
+>autoload</option
+>, die festlegt, ob das Modul automatisch beim Starten von <command
+>kded5</command
+> geladen wird. Voreinstellung ist <constant
+>false</constant
+> Beachten Sie, dass diese Einstellung über die &DBus;-Schnittstelle von <command
+>kded5</command
+> geändert werden kann.</para>
+</refsect1>
+
+
+
+<refsect1>
+<title
+>Siehe auch</title>
+<para
+><citerefentry
+><refentrytitle
+>kbuildsycoca5</refentrytitle
+><manvolnum
+>8</manvolnum
+></citerefentry
+>, <citerefentry
+><refentrytitle
+>kdeinit5</refentrytitle
+><manvolnum
+>8</manvolnum
+></citerefentry
+> </para>
+</refsect1>
+
+
+
+<refsect1>
+<title
+>Fehler</title>
+<para
+>Bitte berichten Sie Fehler im <ulink url="https://bugs.kde.org"
+>Fehlerverfolgungssystem von &kde;</ulink
+>.</para>
+</refsect1>
+
+</refentry>
diff --git a/test/l10n_test.rb b/test/l10n_test.rb
index f5e9173..e1bb68c 100644
--- a/test/l10n_test.rb
+++ b/test/l10n_test.rb
@@ -435,4 +435,30 @@ class TestL10n < Testme
 
     assert(File.read("#{@dir}/CMakeLists.txt").include?('ki18n_install(po)'))
   end
+
+  # kded only has manpages to translate, do not fail on this
+  def test_manpages_already_exists
+    # A select few repos already contain the po,qm,docbooks because of new tech that imports them back into
+    # git from svn. Make sure this doesn't blow up.
+
+    l = create_l10n('kded', 'kded')
+    l.init_repo_url("file:///#{Dir.pwd}/#{@svn_template_dir}")
+
+    FileUtils.rm_rf(@dir)
+    FileUtils.cp_r(data('kded'), @dir)
+    assert_raises ReleaseMe::TranslationUnit::InstallMissingError do
+      # Should raise if the cmakelists is malformed
+      l.get(@dir)
+    end
+    # Correct the cmakelists and it should pass
+    File.open("#{@dir}/CMakeLists.txt", 'a') { |f| f.write("kdoctools_install(po)\n") }
+    l.get(@dir)
+
+    assert_path_exist("#{@dir}/po")
+    contents = Dir.chdir("#{@dir}/po/de") { Dir.glob("**/**") }
+    assert_equal(%w[man-kded5.8.docbook].sort, contents.sort)
+    # Do only expect man-kded5.8.docbook. We want nothing else!
+
+    assert(File.read("#{@dir}/CMakeLists.txt").include?('kdoctools_install(po)'))
+  end  
 end



More information about the kde-doc-english mailing list