diff --git a/lms/djangoapps/courseware/module_render.py b/lms/djangoapps/courseware/module_render.py index 0a074b2313..7bc1e1eb33 100644 --- a/lms/djangoapps/courseware/module_render.py +++ b/lms/djangoapps/courseware/module_render.py @@ -64,7 +64,6 @@ XQUEUE_INTERFACE = XQueueInterface( # Some brave person should make the variable names consistently someday, but the code's # coupled enough that it's kind of tricky--you've been warned! - class LmsModuleRenderError(Exception): """ An exception class for exceptions thrown by module_render that don't fit well elsewhere diff --git a/lms/startup.py b/lms/startup.py index ea4d27b167..59de997329 100644 --- a/lms/startup.py +++ b/lms/startup.py @@ -20,6 +20,8 @@ def run(): """ autostartup() + add_mimetypes() + if settings.FEATURES.get('USE_CUSTOM_THEME', False): enable_theme() @@ -30,6 +32,18 @@ def run(): enable_third_party_auth() +def add_mimetypes(): + """ + Add extra mimetypes. Used in xblock_resource. + """ + import mimetypes + + mimetypes.add_type('application/vnd.ms-fontobject', '.eot') + mimetypes.add_type('application/x-font-opentype', '.otf') + mimetypes.add_type('application/x-font-ttf', '.ttf') + mimetypes.add_type('application/font-woff', '.woff') + + def enable_theme(): """ Enable the settings for a custom theme, whose files should be stored diff --git a/lms/tests.py b/lms/tests.py index a164dd654e..c6c7be64e9 100644 --- a/lms/tests.py +++ b/lms/tests.py @@ -1,10 +1,25 @@ """Tests for the lms module itself.""" +import mimetypes + from django.test import TestCase from edxmako import add_lookup, LOOKUP from lms import startup + +class LmsModuleTests(TestCase): + """ + Tests for lms module itself. + """ + + def test_new_mimetypes(self): + extensions = ['eot', 'otf', 'ttf', 'woff'] + for extension in extensions: + mimetype, _ = mimetypes.guess_type('test.' + extension) + self.assertIsNotNone(mimetype) + + class TemplateLookupTests(TestCase): """ Tests for TemplateLookup.