summaryrefslogtreecommitdiff
path: root/media-video/gaupol/files/gaupol-1.7-fix-tests.patch
blob: d8a90669de9f71537a55b6d0aa9d61b602abc7a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
commit 7778eda0e6e4280fb43aa78721561e43d3e866eb
Author: Osmo Salomaa <otsaloma@iki.fi>
Date:   Sun Aug 4 21:19:20 2019 +0300

    Accept any en* language for spell-check tests

diff --git a/aeidon/agents/test/test_text.py b/aeidon/agents/test/test_text.py
index bf6c4ac1..a2261595 100644
--- a/aeidon/agents/test/test_text.py
+++ b/aeidon/agents/test/test_text.py
@@ -78,14 +78,16 @@ class TestTextAgent(aeidon.TestCase):
         for subtitle in self.project.subtitles:
             subtitle.main_text = subtitle.main_text.replace("a", " a")
             subtitle.main_text = subtitle.main_text.replace("e", "e ")
+        language = self.get_spell_check_language("en")
         self.project.spell_check_join_words(indices=None,
                                             doc=aeidon.documents.MAIN,
-                                            language="en")
+                                            language=language)
 
     def test_spell_check_split_words(self):
         for subtitle in self.project.subtitles:
             subtitle.main_text = subtitle.main_text.replace("s ", "s")
             subtitle.main_text = subtitle.main_text.replace("y ", "y")
+        language = self.get_spell_check_language("en")
         self.project.spell_check_split_words(indices=None,
                                              doc=aeidon.documents.MAIN,
-                                             language="en")
+                                             language=language)
diff --git a/aeidon/test/test_spell.py b/aeidon/test/test_spell.py
index 66369e0e..ff94f150 100644
--- a/aeidon/test/test_spell.py
+++ b/aeidon/test/test_spell.py
@@ -21,7 +21,8 @@ import aeidon
 class TestSpellChecker(aeidon.TestCase):
 
     def setup_method(self, method):
-        self.checker = aeidon.SpellChecker("en")
+        language = self.get_spell_check_language("en")
+        self.checker = aeidon.SpellChecker(language)
 
     def test_add_replacement(self):
         self.checker.add_replacement("abc", "xyz")
@@ -50,7 +51,8 @@ class TestSpellChecker(aeidon.TestCase):
 class TestSpellCheckNavigator(aeidon.TestCase):
 
     def setup_method(self, method):
-        self.navigator = aeidon.SpellCheckNavigator("en")
+        language = language = self.get_spell_check_language("en")
+        self.navigator = aeidon.SpellCheckNavigator(language)
         self.navigator.text = "She knows the fighting\ntechniques of Panzer Kunst."
 
     def test_ignore(self):
diff --git a/aeidon/unittest.py b/aeidon/unittest.py
index 8c384806..d80c5a22 100644
--- a/aeidon/unittest.py
+++ b/aeidon/unittest.py
@@ -50,6 +50,15 @@ class TestCase:
         with open(path, "r", encoding="ascii") as f:
             return f.read().strip()
 
+    def get_spell_check_language(self, language):
+        """Return spell-check language to use in unit tests."""
+        # Allow any close-enough variant as different systems will have
+        # different spell-check engines and dictionaries installed.
+        for candidate in aeidon.SpellChecker.list_languages():
+            if candidate.startswith(language):
+                return candidate
+        raise Exception("Spell-check dictionary {}* not found".format(language))
+
     def new_microdvd_file(self):
         """Return path to a new temporary MicroDVD file."""
         return self.new_temp_file(aeidon.formats.MICRODVD)
diff --git a/gaupol/agents/test/test_tools.py b/gaupol/agents/test/test_tools.py
index a9fbdf8f..e1547476 100644
--- a/gaupol/agents/test/test_tools.py
+++ b/gaupol/agents/test/test_tools.py
@@ -36,7 +36,8 @@ class TestToolsAgent(gaupol.TestCase):
 
     @patch("gaupol.util.flash_dialog", OK)
     def test__on_check_spelling_activate(self):
-        gaupol.conf.spell_check.language = "en"
+        language = self.get_spell_check_language("en")
+        gaupol.conf.spell_check.language = language
         self.application.get_action("check-spelling").activate()
 
     @patch("gaupol.util.flash_dialog", OK)
diff --git a/gaupol/dialogs/test/test_spell_check.py b/gaupol/dialogs/test/test_spell_check.py
index cbe7d61a..d74860fb 100644
--- a/gaupol/dialogs/test/test_spell_check.py
+++ b/gaupol/dialogs/test/test_spell_check.py
@@ -32,7 +32,8 @@ class TestSpellCheckDialog(gaupol.TestCase):
         aeidon.SpellChecker.add_to_personal = aeidon.SpellChecker.add_to_session
         aeidon.SpellChecker.read_replacements = lambda *args: None
         aeidon.SpellChecker.write_replacements = lambda *args: None
-        gaupol.conf.spell_check.language = "en"
+        language = self.get_spell_check_language("en")
+        gaupol.conf.spell_check.language = language
         self.application = self.new_application()
         for page in self.application.pages:
             for subtitle in page.project.subtitles:
diff --git a/gaupol/test/test_spell.py b/gaupol/test/test_spell.py
index 72b74e33..5018abab 100644
--- a/gaupol/test/test_spell.py
+++ b/gaupol/test/test_spell.py
@@ -37,4 +37,5 @@ class TestSpellChecker(aeidon.TestCase):
         Gtk.main()
 
     def setup_method(self, method):
-        self.checker = gaupol.SpellChecker("en")
+        language = self.get_spell_check_language("en")
+        self.checker = gaupol.SpellChecker(language)

commit 340b3bf6bb7cfdf5be9e973f25f5a616ef504702
Author: Osmo Salomaa <otsaloma@iki.fi>
Date:   Mon Aug 5 02:31:32 2019 +0300

    Set spell-check language for assistant test

diff --git a/gaupol/test/test_assistants.py b/gaupol/test/test_assistants.py
index 6969b273..4d6dfdcb 100644
--- a/gaupol/test/test_assistants.py
+++ b/gaupol/test/test_assistants.py
@@ -109,6 +109,8 @@ class TestJoinSplitWordsPage(_TestBuilderPage):
 
     @patch("gaupol.util.flash_dialog", OK)
     def test_correct_texts(self):
+        language = self.get_spell_check_language("en")
+        gaupol.conf.spell_check.language = language
         self.page.correct_texts(self.project,
                                 None,
                                 aeidon.documents.MAIN)