summaryrefslogtreecommitdiff
path: root/tests/test_application.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_application.py')
-rw-r--r--tests/test_application.py39
1 files changed, 14 insertions, 25 deletions
diff --git a/tests/test_application.py b/tests/test_application.py
index 075acc80c..efd55c487 100644
--- a/tests/test_application.py
+++ b/tests/test_application.py
@@ -11,7 +11,7 @@
import pytest
from docutils import nodes
-from sphinx.application import ExtensionError
+from sphinx.errors import ExtensionError
from sphinx.domains import Domain
from sphinx.testing.util import strip_escseq
from sphinx.util import logging
@@ -58,34 +58,23 @@ def test_extension_in_blacklist(app, status, warning):
assert msg.startswith("WARNING: the extension 'sphinxjp.themecore' was")
-def test_domain_override(app, status, warning):
- class A(Domain):
- name = 'foo'
-
- class B(A):
- name = 'foo'
-
- class C(Domain):
- name = 'foo'
-
- # No domain know named foo.
- with pytest.raises(ExtensionError) as excinfo:
- app.override_domain(A)
- assert 'domain foo not yet registered' in str(excinfo.value)
-
- assert app.add_domain(A) is None
- assert app.override_domain(B) is None
- with pytest.raises(ExtensionError) as excinfo:
- app.override_domain(C)
- assert 'new domain not a subclass of registered foo domain' in str(excinfo.value)
-
-
@pytest.mark.sphinx(testroot='add_source_parser')
def test_add_source_parser(app, status, warning):
assert set(app.config.source_suffix) == set(['.rst', '.md', '.test'])
- assert set(app.registry.get_source_parsers().keys()) == set(['*', '.md', '.test'])
+
+ # .rst; only in :confval:`source_suffix`
+ assert '.rst' not in app.registry.get_source_parsers()
+ assert app.registry.source_suffix['.rst'] is None
+
+ # .md; configured by :confval:`source_suffix` and :confval:`source_parsers`
+ assert '.md' in app.registry.get_source_parsers()
+ assert app.registry.source_suffix['.md'] == '.md'
assert app.registry.get_source_parsers()['.md'].__name__ == 'DummyMarkdownParser'
- assert app.registry.get_source_parsers()['.test'].__name__ == 'TestSourceParser'
+
+ # .test; configured by API
+ assert app.registry.source_suffix['.test'] == 'test'
+ assert 'test' in app.registry.get_source_parsers()
+ assert app.registry.get_source_parsers()['test'].__name__ == 'TestSourceParser'
@pytest.mark.sphinx(testroot='extensions')