Fixed #15286 -- Don't show deprecation warning if project locale dir is included in LOCALE_PATHS. Thanks to Claude and Ramiro.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@15508 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Jannis Leidel 2011-02-12 19:12:36 +00:00
parent e1e3f24371
commit 179fefcf7c
3 changed files with 45 additions and 8 deletions

View file

@ -0,0 +1,32 @@
from os.path import join, normpath, abspath, dirname
import warnings
import django
from django.conf import settings
from django.test.utils import get_warnings_state, restore_warnings_state
from django.utils.unittest import TestCase
class DeprecationWarningTests(TestCase):
def setUp(self):
self.warning_state = get_warnings_state()
self.old_settings_module = settings.SETTINGS_MODULE
settings.SETTINGS_MODULE = 'regressiontests'
self.old_locale_paths = settings.LOCALE_PATHS
def tearDown(self):
restore_warnings_state(self.warning_state)
settings.SETTINGS_MODULE = self.old_settings_module
settings.LOCALE_PATHS = self.old_locale_paths
def test_no_warn_if_project_and_locale_paths_overlap(self):
"""Test that PendingDeprecationWarning isn't generated when a deprecated project level locale/ subdir is also included in LOCALE_PATHS."""
project_path = join(dirname(abspath(__file__)), '..')
settings.LOCALE_PATHS += (normpath(join(project_path, 'locale')),)
warnings.filterwarnings('error', "Translations in the project directory aren't supported anymore\. Use the LOCALE_PATHS setting instead\.", PendingDeprecationWarning)
reload(django.utils.translation)
try:
django.utils.translation.ugettext('Time')
except PendingDeprecationWarning:
self.fail("PendingDeprecationWarning shouldn't be raised when settings/project locale and a LOCALE_PATHS member point to the same file system location.")

View file

@ -24,6 +24,7 @@ from models import Company, TestModel
from commands.tests import *
from test_warnings import DeprecationWarningTests
class TranslationTests(TestCase):