def testMergeWithDifferentKeysFail(self): string1 = String('key_a', self.languages) string2 = String('key_b', self.languages) try: string1.merge(string2) except MstException: pass
def testMergeWithDifferentKeysFail(self): string1 = String('key_a', self.languages ) string2 = String('key_b', self.languages ) try: string1.merge(string2) except MstException: pass
def testMergeWithSameLanguagesFail(self): string1 = String('key', self.languages) string2 = String('key', [self.languages[0]]) try: string1.merge(string2) except MstException: pass
def testMergeWithSameLanguagesFail(self): string1 = String('key', self.languages ) string2 = String('key', [ self.languages[0] ] ) try: string1.merge(string2) except MstException: pass
def testKeyCanBeAssignedOnlyOne(self): key = "key" string = String(key, []) self.assertEqual(string.key, key) try: string.key = "different key" self.fail("This operation should fail") except AttributeError: pass
def __get_string(self, row): """ Get string resource from a given row. It loads resource object with translations for all languages and returns complete String instance. """ key = row[ self.id_column ] resource = String(key, self.languages); for lang in self.languages: col = self.language_column(lang) text = row[ col ] options = self._get_row_options(row) resource.add(lang, ResourceText(text, options) ) return resource
def __get_string(self, row): """ Get string resource from a given row. It loads resource object with translations for all languages and returns complete String instance. """ key = row[self.id_column] resource = String(key, self.languages) for lang in self.languages: col = self.language_column(lang) text = row[col] options = self._get_row_options(row) resource.add(lang, ResourceText(text, options)) return resource
def testMergeSucceeds(self): strings = [] for lang in self.languages: s = String('key', [lang]) s.add(lang, build_test_text(lang)) strings.append(s) merged = String('key', []) for s in strings: merged.merge(s) for lang in self.languages: text = build_test_text(lang) self.assertEqual(text, merged.get(lang))
def testGetStringForNonexistingLanguageFail(self): string = String('key', self.proper_languages) for lang in self.bad_languages: try: string.get(lang) self.fail('This operation should fail for language %s' % lang) except MstException: pass
def testKeyMustBeAString(self): keys = [object(), [], {}, ()] for key in keys: try: string = String(key, []) self.fail("This operation should fail") except ValueError: pass
def testAddTextForNonexistingLanguageFail(self): string = String('key', self.proper_languages) for lang in self.bad_languages: try: text = build_test_text(lang) string.add(lang, text) self.fail('This operation should fail') except MstException: pass
def testMergeSucceeds(self): strings = [] for lang in self.languages: s = String('key', [ lang ] ) s.add( lang, build_test_text(lang) ) strings.append(s) merged = String('key', []) for s in strings: merged.merge(s) for lang in self.languages: text = build_test_text(lang) self.assertEqual(text, merged.get(lang) )
def testAddTextForExistingLanguageSucceed(self): string = String('key', self.proper_languages) for lang in self.proper_languages: text = build_test_text(lang) string.add(lang, text) self.assertEqual(text, string.get(lang))
def testDefaultStringsEmpty(self): string = String('key', self.proper_languages) for lang in self.proper_languages: text = string.get(lang) self.assertEqual(text, '')