mirror of
https://github.com/Hopiu/django-rosetta.git
synced 2026-04-24 23:14:44 +00:00
all tests pass
This commit is contained in:
parent
08569f23ce
commit
16d1a49515
2 changed files with 17 additions and 18 deletions
|
|
@ -120,8 +120,8 @@ class RosettaTestCase(TestCase):
|
|||
f_ = open(self.dest_file, 'rb')
|
||||
content = f_.read()
|
||||
f_.close()
|
||||
self.assertTrue(u'Hello, world' not in content)
|
||||
self.assertTrue(u'|| n%100>=20) ? 1 : 2)' in content)
|
||||
self.assertTrue('Hello, world' not in six.text_type(content))
|
||||
self.assertTrue('|| n%100>=20) ? 1 : 2)' in six.text_type(content))
|
||||
del(content)
|
||||
|
||||
# Load the template file
|
||||
|
|
@ -144,9 +144,9 @@ class RosettaTestCase(TestCase):
|
|||
f_ = open(self.dest_file, 'rb')
|
||||
content = f_.read()
|
||||
f_.close()
|
||||
self.assertTrue(u'Hello, world' in content)
|
||||
self.assertTrue(u'|| n%100>=20) ? 1 : 2)' in content)
|
||||
self.assertTrue(u'or n%100>=20) ? 1 : 2)' not in content)
|
||||
self.assertTrue('Hello, world' in str(content))
|
||||
self.assertTrue('|| n%100>=20) ? 1 : 2)' in str(content))
|
||||
self.assertTrue('or n%100>=20) ? 1 : 2)' not in str(content))
|
||||
del(content)
|
||||
|
||||
def test_6_ExcludedApps(self):
|
||||
|
|
@ -202,15 +202,15 @@ class RosettaTestCase(TestCase):
|
|||
r2 = self.client2.get(reverse('rosetta-home'))
|
||||
|
||||
self.assertTrue('String 1' in str(r.content))
|
||||
self.assertTrue('String 1' in r2.content)
|
||||
self.assertTrue('String 1' in str(r2.content))
|
||||
self.assertTrue('m_08e4e11e2243d764fc45a5a4fba5d0f2' in str(r.content))
|
||||
r = self.client.post(reverse('rosetta-home'), dict(m_08e4e11e2243d764fc45a5a4fba5d0f2='Hello, world', _next='_next'), follow=True)
|
||||
r2 = self.client2.get(reverse('rosetta-home'))
|
||||
|
||||
# Client 2 reloads the home, forces a reload of the catalog,
|
||||
# the untranslated string1 is now translated
|
||||
self.assertTrue('String 1' not in r2.content)
|
||||
self.assertTrue('String 2' in r2.content)
|
||||
self.assertTrue('String 1' not in str(r2.content))
|
||||
self.assertTrue('String 2' in str(r2.content))
|
||||
|
||||
r = self.client.get(reverse('rosetta-home') + '?filter=untranslated')
|
||||
r = self.client.get(reverse('rosetta-home'))
|
||||
|
|
@ -223,7 +223,7 @@ class RosettaTestCase(TestCase):
|
|||
# client 2 posts!
|
||||
r2 = self.client2.post(reverse('rosetta-home'), dict(m_e48f149a8b2e8baa81b816c0edf93890='Hello, world, from client two!', _next='_next'), follow=True)
|
||||
|
||||
self.assertTrue('save-conflict' not in r2.content)
|
||||
self.assertTrue('save-conflict' not in str(r2.content))
|
||||
|
||||
# uh-oh here comes client 1
|
||||
r = self.client.post(reverse('rosetta-home'), dict(m_e48f149a8b2e8baa81b816c0edf93890='Hello, world, from client one!', _next='_next'), follow=True)
|
||||
|
|
@ -238,16 +238,16 @@ class RosettaTestCase(TestCase):
|
|||
r = self.client.get(reverse('rosetta-home') + '?filter=translated')
|
||||
self.assertTrue('save-conflict' not in str(r.content))
|
||||
r2 = self.client2.get(reverse('rosetta-home') + '?filter=translated')
|
||||
self.assertTrue('save-conflict' not in r2.content)
|
||||
self.assertTrue('save-conflict' not in str(r2.content))
|
||||
r = self.client.get(reverse('rosetta-home'))
|
||||
self.assertTrue('save-conflict' not in str(r.content))
|
||||
r2 = self.client2.get(reverse('rosetta-home'))
|
||||
self.assertTrue('save-conflict' not in r2.content)
|
||||
self.assertTrue('save-conflict' not in str(r2.content))
|
||||
|
||||
# Both have client's two version
|
||||
self.assertTrue('Hello, world, from client two!' in str(r.content))
|
||||
self.assertTrue('Hello, world, from client two!' in r2.content)
|
||||
self.assertTrue('save-conflict' not in r2.content)
|
||||
self.assertTrue('Hello, world, from client two!' in str(r2.content))
|
||||
self.assertTrue('save-conflict' not in str(r2.content))
|
||||
self.assertTrue('save-conflict' not in str(r.content))
|
||||
|
||||
def test_10_issue_79_num_entries(self):
|
||||
|
|
@ -486,6 +486,6 @@ class RosettaTestCase(TestCase):
|
|||
r = self.client.get(reverse('rosetta-language-selection', args=('xx', 0), kwargs=dict()))
|
||||
r = self.client.get(reverse('rosetta-home'))
|
||||
# We have distinct hashes, even though the msgid and msgstr are identical
|
||||
#print (r.content)
|
||||
self.assertTrue('m_4765f7de94996d3de5975fa797c3451f' in str(r.content))
|
||||
self.assertTrue('m_08e4e11e2243d764fc45a5a4fba5d0f2' in str(r.content))
|
||||
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ def home(request):
|
|||
entry.md5hash = hashlib.md5(
|
||||
(six.text_type(entry.msgid) +
|
||||
six.text_type(entry.msgstr) +
|
||||
six.text_type(entry.msgctxt and entry.msgctxt.encode("utf8") or "")).encode('utf8')
|
||||
six.text_type(entry.msgctxt or "")).encode('utf8')
|
||||
).hexdigest()
|
||||
|
||||
else:
|
||||
|
|
@ -252,7 +252,6 @@ home = user_passes_test(lambda user: can_translate(user), settings.LOGIN_URL)(ho
|
|||
|
||||
def download_file(request):
|
||||
import zipfile
|
||||
from StringIO import StringIO
|
||||
storage = get_storage(request)
|
||||
# original filename
|
||||
rosetta_i18n_fn = storage.get('rosetta_i18n_fn', None)
|
||||
|
|
@ -270,7 +269,7 @@ def download_file(request):
|
|||
offered_fn = rosetta_i18n_fn.split('/')[-1]
|
||||
po_fn = str(rosetta_i18n_fn.split('/')[-1])
|
||||
mo_fn = str(po_fn.replace('.po', '.mo')) # not so smart, huh
|
||||
zipdata = StringIO()
|
||||
zipdata = six.BytesIO()
|
||||
zipf = zipfile.ZipFile(zipdata, mode="w")
|
||||
zipf.writestr(po_fn, six.text_type(rosetta_i18n_pofile).encode("utf8"))
|
||||
zipf.writestr(mo_fn, rosetta_i18n_pofile.to_binary())
|
||||
|
|
@ -359,7 +358,7 @@ def lang_sel(request, langid, idx):
|
|||
entry.md5hash = hashlib.new('md5',
|
||||
(six.text_type(entry.msgid) +
|
||||
six.text_type(entry.msgstr) +
|
||||
six.text_type(entry.msgctxt and entry.msgctxt.encode("utf8") or "")).encode('utf8')
|
||||
six.text_type(entry.msgctxt or "")).encode('utf8')
|
||||
).hexdigest()
|
||||
|
||||
storage.set('rosetta_i18n_pofile', po)
|
||||
|
|
|
|||
Loading…
Reference in a new issue