diff options
Diffstat (limited to 'tests/test_application.py')
-rw-r--r-- | tests/test_application.py | 39 |
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') |