Commit e2ac0203 authored by Tim Graham's avatar Tim Graham
Browse files

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"
parent dadf2ee7
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -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