Skip to content
Snippets Groups Projects

Resolve "Ändern der Sprache in ExampleApp muss in beiden Sprachen funtkionieren"

Merged slobinger requested to merge 14-language-dict-update-fix into master
1 file
+ 30
20
Compare changes
  • Side-by-side
  • Inline
+ 30
20
@@ -9,6 +9,7 @@ from sams_classes.exceptions import (
from flask import Blueprint, Flask
from .helper_classes import FlaskInThread
import requests
import copy
def eprint(*args, **kwargs):
print(*args, file=sys.stderr, **kwargs)
@@ -89,7 +90,8 @@ class TestSAMSApp(unittest.TestCase):
'overwritten': 'Will overwrite default if requested'
}
app = SAMSApp(name = 'test', manifest = manifest
, langDict = {'de': default_lang, 'en': request_lang})
, langDict = {
'de': copy.deepcopy(default_lang), 'en': copy.deepcopy(request_lang)})
self.assertEqual(app.lang('en')['overwritten'], request_lang['overwritten'])
self.assertEqual(app.lang('en')['fallback'], default_lang['fallback'])
self.assertEqual(app.lang('fr')['overwritten'], default_lang['overwritten'])
@@ -102,36 +104,44 @@ class TestSAMSApp(unittest.TestCase):
manifest = {
'default_language': 'de',
'menu':[
{'url': expected_urls[0], 'name_string': name_strings[0]},
{'url': expected_urls[1], 'name_string': name_strings[1],
{'url': copy.copy(expected_urls[0]),
'name_string': copy.copy(name_strings[0])},
{'url': copy.copy(expected_urls[1]), 'name_string': copy.copy(name_strings[1]),
'menu':[
{'url': expected_urls[2], 'name_string': name_strings[2]},
{'url': expected_urls[3], 'name_string': name_strings[3]}
{'url': copy.copy(expected_urls[2]),
'name_string': copy.copy(name_strings[2])},
{'url': copy.copy(expected_urls[3]),
'name_string': copy.copy(name_strings[3])}
]}
]
}
default_lang = {
name_strings[0]: '1 überschrieben',
name_strings[1]: '2 verwendet',
name_strings[2]: '2.1 verwendet',
name_strings[3]: '2.2 überschrieben'
}
request_lang = {
name_strings[0]: '1 used',
name_strings[3]: '2.2 used'
langDicts = {
'de': {
name_strings[0]: '1 überschrieben',
name_strings[1]: '2 verwendet',
name_strings[2]: '2.1 verwendet',
name_strings[3]: '2.2 überschrieben'
},
'en': {
name_strings[0]: '1 used',
name_strings[3]: '2.2 used'
}
}
app = SAMSApp(name = 'test', manifest = manifest
, langDict = {'de': default_lang, 'en': request_lang})
, langDict = copy.deepcopy(langDicts))
menu = app.menu('en')
self.assertEqual(menu[0]['url'], expected_urls[0])
self.assertEqual(menu[1]['url'], expected_urls[1])
self.assertEqual(menu[1]['menu'][0]['url'], expected_urls[2])
self.assertEqual(menu[1]['menu'][1]['url'], expected_urls[3])
self.assertEqual(menu[0]['name'], request_lang[name_strings[0]])
self.assertEqual(menu[1]['name'], default_lang[name_strings[1]])
self.assertEqual(menu[1]['menu'][0]['name'], default_lang[name_strings[2]])
self.assertEqual(menu[1]['menu'][1]['name'], request_lang[name_strings[3]])
self.assertEqual(menu[1]['name'], langDicts['de'][name_strings[1]])
self.assertEqual(menu[0]['name'], langDicts['en'][name_strings[0]])
self.assertEqual(menu[1]['menu'][1]['name'], langDicts['en'][name_strings[3]])
self.assertEqual(menu[1]['menu'][0]['name'], langDicts['de'][name_strings[2]])
menu = app.menu('de')
self.assertEqual(menu[0]['name'], langDicts['de'][name_strings[0]])
self.assertEqual(menu[1]['menu'][1]['name'], langDicts['en'][name_strings[3]])
def test_app_menu_prefix(self):
"""app.menu(lanCode, prefix) returns the app menu with prefixed urls"""
manifest = {
Loading