Skip to content

Commit

Permalink
Updated supported_locales property to handle bad data
Browse files Browse the repository at this point in the history
  • Loading branch information
robhudson committed May 2, 2013
1 parent d445fc6 commit bf8a15a
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 3 deletions.
12 changes: 9 additions & 3 deletions mkt/webapps/models.py
Expand Up @@ -807,10 +807,16 @@ def supported_locales(self):
for the current public version.
"""
languages = []
for locale in self.current_version.supported_locales.split(','):
if locale:
language = settings.LANGUAGES.get(locale.lower())
if language:
languages.append(language)

return (
settings.LANGUAGES[self.default_locale.lower()],
sorted([settings.LANGUAGES[l.lower()] for l
in self.current_version.supported_locales.split(',')])
settings.LANGUAGES.get(self.default_locale.lower()),
sorted(languages)
)


Expand Down
10 changes: 10 additions & 0 deletions mkt/webapps/tests/test_models.py
Expand Up @@ -434,6 +434,16 @@ def test_supported_locale_property(self):
eq_(app.supported_locales,
(u'English (US)', [u'Deutsch', u'Fran\xe7ais']))

def test_supported_locale_property_empty(self):
app = app_factory()
eq_(app.supported_locales, (u'English (US)', []))

def test_supported_locale_property_bad(self):
app = app_factory()
app.versions.latest().update(supported_locales='de,xx', _signal=False)
app.reload()
eq_(app.supported_locales, (u'English (US)', [u'Deutsch']))


class TestPackagedAppManifestUpdates(amo.tests.TestCase):
# Note: More extensive tests for `Addon.update_names` are in the Addon
Expand Down

0 comments on commit bf8a15a

Please sign in to comment.