Browse Source

Fix TestShortcutKeys

Lipu Fei 6 years ago
parent
commit
c36434ebdd
2 changed files with 17 additions and 32 deletions
  1. 1 1
      plugins/CuraEngineBackend/CuraEngineBackend.py
  2. 16 31
      tests/TestShortcutKeys.py

+ 1 - 1
plugins/CuraEngineBackend/CuraEngineBackend.py

@@ -180,7 +180,7 @@ class CuraEngineBackend(QObject, Backend):
     #   \return list of commands and args / parameters.
     def getEngineCommand(self) -> List[str]:
         json_path = Resources.getPath(Resources.DefinitionContainers, "fdmprinter.def.json")
-        command = [self._application.getPreferences().getValue("backend/location"), "connect", "127.0.0.1:{0}".format(self._port), "-j", json_path, ""]
+        command = [self._application.getPreferences().getValue("backend/location"), "connect", "127.0.0.1:{0}".format(self._port), "-j", json_path, "-m1"]
 
         parser = argparse.ArgumentParser(prog = "cura", add_help = False)
         parser.add_argument("--debug", action = "store_true", default = False, help = "Turn on the debug mode by setting this option.")

+ 16 - 31
tests/TestShortcutKeys.py

@@ -1,11 +1,9 @@
-
 import os
 import re
-import unittest
 import pytest
 
 MSGCTXT = "msgctxt" # Scope of the text . Like : msgctxt "@action:inmenu menubar:help"
-MSGID =  "msgid" # The id tag, also English text version
+MSGID = "msgid" # The id tag, also English text version
 MSGTR = "msgstr" # The translation tag
 
 COLOR_WARNING = '\033[93m'
@@ -13,47 +11,41 @@ COLOR_ENDC = '\033[0m'
 
 regex_patter = '(&[\w])' #"&[a-zA-Z0-9]" - Search char '&' and at least one character after it
 
+
+# Directory where this python file resides
+SCRIPT_DIR = os.path.dirname(os.path.realpath(__file__))
+
+
 # Check default language shortcut keys, by default it is English
 def test_default_shortcut_keys():
-
     language_folder = "de_DE" # choose German language folder, because we only need to test English shortcut keys, the message id is English translation
 
     translation_file_name = "cura.po"
 
-    plugin_file_path = os.path.dirname(os.path.abspath(__file__))
-    path_records = os.path.split(plugin_file_path)
-    global_path = path_records[:-1]
-    cura_path = os.path.join(*global_path)
-    language_file_path = os.path.join(cura_path,"resources","i18n",language_folder, translation_file_name)
-
+    cura_path = os.path.abspath(os.path.join(SCRIPT_DIR, ".."))
+    language_file_path = os.path.join(cura_path, "resources", "i18n", language_folder, translation_file_name)
 
     not_valid_shortcut_keys = getDuplicatedShortcutKeys(language_file_path, False)
 
     if len(not_valid_shortcut_keys) != 0:
-        temp='%s' % ', '.join(map(str, not_valid_shortcut_keys))
+        temp = '%s' % ', '.join(map(str, not_valid_shortcut_keys))
         print(COLOR_WARNING + "NOT VALID SHORTCUT KEYS: " + temp + COLOR_ENDC)
 
-
     assert len(not_valid_shortcut_keys) == 0
 
 
-
 # If the 'findShortcutKeysInTranslation' is False the function will search shortcut keys in message id
-def getDuplicatedShortcutKeys(language_file_path, findShortcutKeysInTranslation):
+def getDuplicatedShortcutKeys(language_file_path: str, find_shortcut_keys_in_translation: bool):
     last_translation_scope = ""
 
-
     # {shortcut_key, {scope, [translation_text]}}
     shortcut_keys = dict()
     with open(language_file_path, 'r') as f:
         for text in f:
-
             if text.startswith(MSGCTXT):
                 last_translation_scope = text
 
-
-            elif text.startswith(MSGID) and findShortcutKeysInTranslation or text.startswith(MSGTR) and not findShortcutKeysInTranslation:
-
+            elif text.startswith(MSGID) and find_shortcut_keys_in_translation or text.startswith(MSGTR) and not find_shortcut_keys_in_translation:
                 # if text has '&'symbol and at least one character (char or digit) after it
                 # ex '&acr mytest' -> this should return '&a'
                 # ex '& acr mytest' -> returns None
@@ -90,20 +82,18 @@ def getDuplicatedShortcutKeys(language_file_path, findShortcutKeysInTranslation)
 
     # Validate all shortcut keys
     for shortcut_key, scopes in shortcut_keys.items():
-
         # check, whether the key exist in the same scope multiple times or not
         for key, items in scopes.items():
-
-            #The shortcut keys should not be more than one time in the same scope
+            # The shortcut keys should not be more than one time in the same scope
             if len(items) > 1:
                 not_valid_shortcut_keys += items
 
     return not_valid_shortcut_keys
 
 
-@pytest.mark.parametrize("language_type", [("de_DE"),("es_ES"),("fi_FI"),("fr_FR"),("it_IT"),("ja_JP"),("ko_KR"),("nl_NL"),("pl_PL"),("pt_BR"),("ru_RU"),("tr_TR")])
+@pytest.mark.parametrize("language_type", [("de_DE"),("es_ES"),("fi_FI"),("fr_FR"),("it_IT"),("ja_JP"),("ko_KR"),
+                                           ("nl_NL"),("pl_PL"),("pt_BR"),("ru_RU"),("tr_TR")])
 def test_shortcut_keys(language_type):
-
     language_folder = language_type
 
     translation_file_name = "cura.po"
@@ -112,17 +102,12 @@ def test_shortcut_keys(language_type):
     path_records = os.path.split(plugin_file_path)
     global_path = path_records[:-1]
     cura_path = os.path.join(*global_path)
-    language_file_path = os.path.join(cura_path,"resources","i18n",language_folder, translation_file_name)
+    language_file_path = os.path.join(cura_path, "resources", "i18n", language_folder, translation_file_name)
 
     not_valid_shortcut_keys = getDuplicatedShortcutKeys(language_file_path, False)
 
     if len(not_valid_shortcut_keys) != 0:
-        temp='%s' % ', '.join(map(str, not_valid_shortcut_keys))
+        temp = "%s" % ", ".join(map(str, not_valid_shortcut_keys))
         print(COLOR_WARNING + "NOT VALID SHORTCUT KEYS: " + temp + COLOR_ENDC)
 
-
     assert len(not_valid_shortcut_keys) == 0
-
-
-if __name__ == "__main__":
-    unittest.main()