all tests pass

This commit is contained in:
Marco Bonetti 2013-02-27 21:01:00 +01:00
parent 08569f23ce
commit 16d1a49515
2 changed files with 17 additions and 18 deletions

View file

@ -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))

View file

@ -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)