[1.7.x] Skipped JavascriptI18nTests if Firefox isn't properly configured.

Code borrowed from django.contrib.admin.tests. Without this, the class can
throw an exception with something like "The browser appears to have exited
before we could connect. The output was: Error: no display specified"

Backport of e2ac0203d9 from master
This commit is contained in:
Tim Graham 2014-03-27 14:19:31 -04:00
parent 5f04240381
commit c9014a95bc
1 changed files with 7 additions and 7 deletions

View File

@ -11,13 +11,9 @@ from django.test import (
LiveServerTestCase, TestCase, modify_settings, override_settings)
from django.utils import six
from django.utils._os import upath
from django.utils.module_loading import import_string
from django.utils.translation import override, LANGUAGE_SESSION_KEY
try:
from selenium.webdriver.firefox import webdriver as firefox
except ImportError:
firefox = None
from ..urls import locale_dir
@ -211,16 +207,20 @@ skip_selenium = not os.environ.get('DJANGO_SELENIUM_TESTS', False)
@unittest.skipIf(skip_selenium, 'Selenium tests not requested')
@unittest.skipUnless(firefox, 'Selenium not installed')
class JavascriptI18nTests(LiveServerTestCase):
# The test cases use translations from these apps.
available_apps = ['django.contrib.admin', 'view_tests']
urls = 'view_tests.urls'
webdriver_class = 'selenium.webdriver.firefox.webdriver.WebDriver'
@classmethod
def setUpClass(cls):
cls.selenium = firefox.WebDriver()
try:
cls.selenium = import_string(cls.webdriver_class)()
except Exception as e:
raise unittest.SkipTest('Selenium webdriver "%s" not installed or '
'not operational: %s' % (cls.webdriver_class, str(e)))
super(JavascriptI18nTests, cls).setUpClass()
@classmethod