summaryrefslogtreecommitdiff
path: root/tests/regressiontests/makemessages
diff options
context:
space:
mode:
authorRamiro Morales <cramm0@gmail.com>2010-10-10 22:19:01 +0000
committerRamiro Morales <cramm0@gmail.com>2010-10-10 22:19:01 +0000
commitb79daef8676df78fabb70a686374aebeccdd6db0 (patch)
tree6d7161344efed35dd1a69a048a516444657aeaa9 /tests/regressiontests/makemessages
parent20fa9ddb7183707d707a8c703b6f28b02efc80db (diff)
Consolidated i18n commands test with the rest of the i18n tests.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@14133 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/regressiontests/makemessages')
-rw-r--r--tests/regressiontests/makemessages/__init__.py0
-rw-r--r--tests/regressiontests/makemessages/compilation.py35
-rw-r--r--tests/regressiontests/makemessages/extraction.py98
-rw-r--r--tests/regressiontests/makemessages/ignore_dir/ignored.html2
-rw-r--r--tests/regressiontests/makemessages/javascript.js4
-rw-r--r--tests/regressiontests/makemessages/locale/dummy0
-rw-r--r--tests/regressiontests/makemessages/locale/es_AR/LC_MESSAGES/django.po20
-rw-r--r--tests/regressiontests/makemessages/models.py0
-rw-r--r--tests/regressiontests/makemessages/templates/test.html2
-rw-r--r--tests/regressiontests/makemessages/tests.py43
10 files changed, 0 insertions, 204 deletions
diff --git a/tests/regressiontests/makemessages/__init__.py b/tests/regressiontests/makemessages/__init__.py
deleted file mode 100644
index e69de29bb2..0000000000
--- a/tests/regressiontests/makemessages/__init__.py
+++ /dev/null
diff --git a/tests/regressiontests/makemessages/compilation.py b/tests/regressiontests/makemessages/compilation.py
deleted file mode 100644
index 3ca2d57138..0000000000
--- a/tests/regressiontests/makemessages/compilation.py
+++ /dev/null
@@ -1,35 +0,0 @@
-import os
-try:
- from cStringIO import StringIO
-except ImportError:
- from StringIO import StringIO
-
-from django.core.management import CommandError
-from django.core.management.commands.compilemessages import compile_messages
-from django.test import TestCase
-
-LOCALE='es_AR'
-
-
-class MessageCompilationTests(TestCase):
-
- MO_FILE='locale/%s/LC_MESSAGES/django.mo' % LOCALE
-
- def setUp(self):
- self._cwd = os.getcwd()
- self.test_dir = os.path.abspath(os.path.dirname(__file__))
-
- def tearDown(self):
- os.chdir(self._cwd)
-
-
-class PoFileTests(MessageCompilationTests):
-
- def test_bom_rejection(self):
- os.chdir(self.test_dir)
- # We don't use the django.core.management intrastructure (call_command()
- # et al) because CommandError's cause exit(1) there. We test the
- # underlying compile_messages function instead
- out = StringIO()
- self.assertRaises(CommandError, compile_messages, out, locale=LOCALE)
- self.failIf(os.path.exists(self.MO_FILE))
diff --git a/tests/regressiontests/makemessages/extraction.py b/tests/regressiontests/makemessages/extraction.py
deleted file mode 100644
index 4b4fa1b07e..0000000000
--- a/tests/regressiontests/makemessages/extraction.py
+++ /dev/null
@@ -1,98 +0,0 @@
-import os
-import re
-import shutil
-from django.test import TestCase
-from django.core import management
-
-LOCALE='de'
-
-class ExtractorTests(TestCase):
-
- 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(__file__))
-
- def _rmrf(self, dname):
- if os.path.commonprefix([self.test_dir, os.path.abspath(dname)]) != self.test_dir:
- return
- shutil.rmtree(dname)
-
- def tearDown(self):
- os.chdir(self.test_dir)
- try:
- self._rmrf('locale/%s' % LOCALE)
- except OSError:
- pass
- os.chdir(self._cwd)
-
- def assertMsgId(self, msgid, s):
- return self.assert_(re.search('^msgid "%s"' % msgid, s, re.MULTILINE))
-
- def assertNotMsgId(self, msgid, s):
- return self.assert_(not re.search('^msgid "%s"' % msgid, s, re.MULTILINE))
-
-
-class JavascriptExtractorTests(ExtractorTests):
-
- PO_FILE='locale/%s/LC_MESSAGES/djangojs.po' % LOCALE
-
- def test_javascript_literals(self):
- os.chdir(self.test_dir)
- management.call_command('makemessages', domain='djangojs', locale=LOCALE, verbosity=0)
- self.assert_(os.path.exists(self.PO_FILE))
- po_contents = open(self.PO_FILE, 'r').read()
- self.assertMsgId('This literal should be included.', po_contents)
- self.assertMsgId('This one as well.', po_contents)
-
-
-class IgnoredExtractorTests(ExtractorTests):
-
- def test_ignore_option(self):
- os.chdir(self.test_dir)
- management.call_command('makemessages', locale=LOCALE, verbosity=0, ignore_patterns=['ignore_dir/*'])
- self.assert_(os.path.exists(self.PO_FILE))
- po_contents = open(self.PO_FILE, 'r').read()
- self.assertMsgId('This literal should be included.', po_contents)
- self.assertNotMsgId('This should be ignored.', po_contents)
-
-
-class SymlinkExtractorTests(ExtractorTests):
-
- def setUp(self):
- self._cwd = os.getcwd()
- self.test_dir = os.path.abspath(os.path.dirname(__file__))
- self.symlinked_dir = os.path.join(self.test_dir, 'templates_symlinked')
-
- def tearDown(self):
- super(SymlinkExtractorTests, self).tearDown()
- os.chdir(self.test_dir)
- try:
- os.remove(self.symlinked_dir)
- except OSError:
- pass
- os.chdir(self._cwd)
-
- def test_symlink(self):
- if hasattr(os, 'symlink'):
- if os.path.exists(self.symlinked_dir):
- self.assert_(os.path.islink(self.symlinked_dir))
- else:
- os.symlink(os.path.join(self.test_dir, 'templates'), self.symlinked_dir)
- os.chdir(self.test_dir)
- management.call_command('makemessages', locale=LOCALE, verbosity=0, symlinks=True)
- self.assert_(os.path.exists(self.PO_FILE))
- po_contents = open(self.PO_FILE, 'r').read()
- self.assertMsgId('This literal should be included.', po_contents)
- self.assert_('templates_symlinked/test.html' in po_contents)
-
-
-class CopyPluralFormsExtractorTests(ExtractorTests):
-
- def test_copy_plural_forms(self):
- os.chdir(self.test_dir)
- management.call_command('makemessages', locale=LOCALE, verbosity=0)
- self.assert_(os.path.exists(self.PO_FILE))
- po_contents = open(self.PO_FILE, 'r').read()
- self.assert_('Plural-Forms: nplurals=2; plural=(n != 1)' in po_contents)
diff --git a/tests/regressiontests/makemessages/ignore_dir/ignored.html b/tests/regressiontests/makemessages/ignore_dir/ignored.html
deleted file mode 100644
index 6a296787ef..0000000000
--- a/tests/regressiontests/makemessages/ignore_dir/ignored.html
+++ /dev/null
@@ -1,2 +0,0 @@
-{% load i18n %}
-{% trans "This should be ignored." %}
diff --git a/tests/regressiontests/makemessages/javascript.js b/tests/regressiontests/makemessages/javascript.js
deleted file mode 100644
index bc5ec87957..0000000000
--- a/tests/regressiontests/makemessages/javascript.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// '
-gettext('This literal should be included.')
-// '
-gettext('This one as well.')
diff --git a/tests/regressiontests/makemessages/locale/dummy b/tests/regressiontests/makemessages/locale/dummy
deleted file mode 100644
index e69de29bb2..0000000000
--- a/tests/regressiontests/makemessages/locale/dummy
+++ /dev/null
diff --git a/tests/regressiontests/makemessages/locale/es_AR/LC_MESSAGES/django.po b/tests/regressiontests/makemessages/locale/es_AR/LC_MESSAGES/django.po
deleted file mode 100644
index 7f74a4ef4a..0000000000
--- a/tests/regressiontests/makemessages/locale/es_AR/LC_MESSAGES/django.po
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Django\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-05 20:25-0300\n"
-"PO-Revision-Date: 2010-02-22 00:14-0300\n"
-"Last-Translator: Translator <translator@example.com>\n"
-"Language-Team: Django-I18N <team@example.com>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: path/file.py:1
-msgid "This file has a UTF-8 BOM an should be rejected by the Django makemessages command."
-msgstr ""
diff --git a/tests/regressiontests/makemessages/models.py b/tests/regressiontests/makemessages/models.py
deleted file mode 100644
index e69de29bb2..0000000000
--- a/tests/regressiontests/makemessages/models.py
+++ /dev/null
diff --git a/tests/regressiontests/makemessages/templates/test.html b/tests/regressiontests/makemessages/templates/test.html
deleted file mode 100644
index 2c38b3e4e6..0000000000
--- a/tests/regressiontests/makemessages/templates/test.html
+++ /dev/null
@@ -1,2 +0,0 @@
-{% load i18n %}
-{% trans "This literal should be included." %} \ No newline at end of file
diff --git a/tests/regressiontests/makemessages/tests.py b/tests/regressiontests/makemessages/tests.py
deleted file mode 100644
index c3be2178e4..0000000000
--- a/tests/regressiontests/makemessages/tests.py
+++ /dev/null
@@ -1,43 +0,0 @@
-import os
-import re
-from subprocess import Popen, PIPE
-
-def find_command(cmd, path=None, pathext=None):
- if path is None:
- path = os.environ.get('PATH', []).split(os.pathsep)
- if isinstance(path, basestring):
- path = [path]
- # check if there are funny path extensions for executables, e.g. Windows
- if pathext is None:
- pathext = os.environ.get('PATHEXT', '.COM;.EXE;.BAT;.CMD').split(os.pathsep)
- # don't use extensions if the command ends with one of them
- for ext in pathext:
- if cmd.endswith(ext):
- pathext = ['']
- break
- # check if we find the command on PATH
- for p in path:
- f = os.path.join(p, cmd)
- if os.path.isfile(f):
- return f
- for ext in pathext:
- fext = f + ext
- if os.path.isfile(fext):
- return fext
- return None
-
-# checks if it can find xgettext on the PATH and
-# imports the extraction tests if yes
-xgettext_cmd = find_command('xgettext')
-if xgettext_cmd:
- p = Popen('%s --version' % xgettext_cmd, shell=True, stdout=PIPE, stderr=PIPE, close_fds=os.name != 'nt', universal_newlines=True)
- output = p.communicate()[0]
- match = re.search(r'(?P<major>\d+)\.(?P<minor>\d+)', output)
- if match:
- xversion = (int(match.group('major')), int(match.group('minor')))
- if xversion >= (0, 15):
- from extraction import *
- del p
-
-if find_command('msgfmt'):
- from compilation import *