Commit 0336d0d9 authored by Claude Paroz's avatar Claude Paroz
Browse files

Rearranged some i18n tests

Compilation/extraction tests are now properly skipped when gettext
commands are unavailable.
parent 35db9d58
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
import os
import unittest

from django.core.management import call_command, CommandError
from django.core.management.utils import find_command
from django.test import SimpleTestCase
from django.test.utils import override_settings
from django.utils import translation
from django.utils._os import upath
from django.utils.six import StringIO

test_dir = os.path.abspath(os.path.dirname(upath(__file__)))
test_dir = os.path.abspath(os.path.join(os.path.dirname(upath(__file__)), 'commands'))
has_msgfmt = find_command('msgfmt')


@unittest.skipUnless(has_msgfmt, 'msgfmt is mandatory for compilation tests')
class MessageCompilationTests(SimpleTestCase):

    def setUp(self):
+7 −4
Original line number Diff line number Diff line
@@ -5,10 +5,11 @@ import io
import os
import re
import shutil
from unittest import SkipTest
from unittest import SkipTest, skipUnless
import warnings

from django.core import management
from django.core.management.utils import find_command
from django.test import SimpleTestCase
from django.utils.encoding import force_text
from django.utils._os import upath
@@ -18,14 +19,17 @@ from django.utils.translation import TranslatorCommentWarning


LOCALE = 'de'
has_xgettext = find_command('xgettext')

@skipUnless(has_xgettext, 'xgettext is mandatory for extraction tests')
class ExtractorTests(SimpleTestCase):

    PO_FILE = 'locale/%s/LC_MESSAGES/django.po' % LOCALE

    def setUp(self):
        self._cwd = os.getcwd()
        self.test_dir = os.path.abspath(os.path.dirname(upath(__file__)))
        self.test_dir = os.path.abspath(
            os.path.join(os.path.dirname(upath(__file__)), 'commands'))

    def _rmrf(self, dname):
        if os.path.commonprefix([self.test_dir, os.path.abspath(dname)]) != self.test_dir:
@@ -302,8 +306,7 @@ class IgnoredExtractorTests(ExtractorTests):
class SymlinkExtractorTests(ExtractorTests):

    def setUp(self):
        self._cwd = os.getcwd()
        self.test_dir = os.path.abspath(os.path.dirname(upath(__file__)))
        super(SymlinkExtractorTests, self).setUp()
        self.symlinked_dir = os.path.join(self.test_dir, 'templates_symlinked')

    def tearDown(self):
+0 −11
Original line number Diff line number Diff line
@@ -9,7 +9,6 @@ import pickle
from threading import local

from django.conf import settings
from django.core.management.utils import find_command
from django.template import Template, Context
from django.template.base import TemplateSyntaxError
from django.test import TestCase, RequestFactory
@@ -34,16 +33,6 @@ from django.utils.translation import (activate, deactivate,
    npgettext, npgettext_lazy,
    check_for_language)

if find_command('xgettext'):
    from .commands.extraction import (ExtractorTests, BasicExtractorTests,
        JavascriptExtractorTests, IgnoredExtractorTests, SymlinkExtractorTests,
        CopyPluralFormsExtractorTests, NoWrapExtractorTests,
        LocationCommentsTests, KeepPotFileExtractorTests,
        MultipleLocaleExtractionTests)
if find_command('msgfmt'):
    from .commands.compilation import (PoFileTests, PoFileContentsTests,
        PercentRenderingTests, MultipleLocaleCompilationTests,
        CompilationErrorHandling)
from .forms import I18nForm, SelectDateForm, SelectDateWidget, CompanyForm
from .models import Company, TestModel