def test_setup_wrong_order(): try: Sphinx.extensions = ["sphinx.ext.autodoc"] # type: ignore with pytest.raises( ExtensionError, match="'sphinx_toolbox.more_autodoc.augment_defaults' " "must be loaded before 'sphinx.ext.autodoc'.", ): run_setup(augment_defaults.setup) finally: del Sphinx.extensions # type: ignore
def test_setup(advanced_file_regression: AdvancedFileRegressionFixture): setup_ret, directives, roles, additional_nodes, app = run_setup( more_autosummary.setup) assert setup_ret == {"parallel_read_safe": True, "version": __version__} assert directives == { "autosummary": more_autosummary.PatchedAutosummary, "autoclass": AutodocDirective, "automodule": AutodocDirective, "autoclasssumm": more_autosummary.PatchedAutoDocSummDirective, "automodulesumm": more_autosummary.PatchedAutoDocSummDirective, } assert app.registry.documenters[ "module"] == more_autosummary.PatchedAutoSummModuleDocumenter assert app.registry.documenters[ "class"] == more_autosummary.PatchedAutoSummClassDocumenter assert not roles assert not additional_nodes assert app.config.values["autodocsumm_member_order"][:2] == ( "alphabetical", "env", ) assert app.config.values["autodocsumm_member_order"][2].candidates == ( "alphabetic", "alphabetical", "bysource")
def test_setup(): setup_ret, directives, roles, additional_nodes, app = run_setup(installation.setup) assert app.events.listeners == { "env-purge-doc": [ EventListener(id=1, handler=installation.extensions_node_purger.purge_nodes, priority=500), ], "env-get-outdated": [ EventListener( id=0, handler=installation.installation_node_purger.get_outdated_docnames, priority=500 ), ], "build-finished": [EventListener(id=3, handler=installation.copy_asset_files, priority=500)], "config-inited": [EventListener(id=2, handler=installation._on_config_inited, priority=510)], } assert app.config.values["conda_channels"] == ([], "env", [list]) assert directives == { "installation": installation.InstallationDirective, "extensions": installation.ExtensionsDirective, } assert app.registry.source_parsers == {} assert app.registry.css_files == [] assert app.registry.js_files == [] installation._on_config_inited(app, app.config) # type: ignore assert app.registry.css_files == [("sphinx_toolbox_installation.css", {})] assert app.registry.js_files == [("sphinx_toolbox_installation.js", {})]
def test_setup() -> None: app: Sphinx setup_ret, directives, roles, additional_nodes, app = run_setup( sphinxcontrib.extras_require.setup) assert setup_ret == { "version": __version__, "parallel_read_safe": True, "parallel_write_safe": True, } assert additional_nodes == set() assert app.config.values["package_root"] == (None, "env", [str]) assert app.config.values["pypi_name"] == (None, "env", [str]) assert directives == {"extras-require": ExtrasRequireDirective} assert app.events.listeners == { "env-purge-doc": [ EventListener(id=0, handler=extras_require_purger.purge_nodes, priority=500) ], }
def test_setup(): setup_ret, directives, roles, additional_nodes, app = run_setup(github.setup) assert setup_ret == {"version": sphinx_toolbox.__version__, "parallel_read_safe": True} expected_additional_nodes: Set[Type[nodes.reference]] = {IssueNode, GitHubObjectLinkNode} assert additional_nodes == expected_additional_nodes assert app.registry.translation_handlers == { "html": { "IssueNode": (visit_issue_node, depart_issue_node), "GitHubObjectLinkNode": (visit_github_object_link_node, depart_github_object_link_node) }, "latex": { "IssueNode": (_visit_issue_node_latex, _depart_issue_node_latex), "GitHubObjectLinkNode": ( _visit_github_object_link_node_latex, _depart_github_object_link_node_latex, ) }, } # Moved to own setup function assert app.config.values["github_username"] == (None, "env", [str]) assert app.config.values["github_repository"] == (None, "env", [str]) assert app.events.listeners == { "config-inited": [EventListener(id=0, handler=github.validate_config, priority=850)], } assert directives == {}
def test_setup(): setup_ret, directives, roles, additional_nodes, app = run_setup( shields.setup) assert setup_ret == { "version": sphinx_toolbox.__version__, "parallel_read_safe": True } assert additional_nodes == set() assert app.registry.translation_handlers == {} assert app.events.listeners == {} assert directives == { "rtfd-shield": shields.RTFDShield, "actions-shield": shields.GitHubActionsShield, "requires-io-shield": shields.RequiresIOShield, "coveralls-shield": shields.CoverallsShield, "codefactor-shield": shields.CodefactorShield, "pypi-shield": shields.PyPIShield, "github-shield": shields.GitHubShield, "maintained-shield": shields.MaintainedShield, "pre-commit-shield": shields.PreCommitShield, "pre-commit-ci-shield": shields.PreCommitCIShield, }
def test_setup(): setup_ret, directives, roles, additional_nodes, app = run_setup( sidebar_links.setup) assert app.events.listeners == {} assert directives == {"sidebar-links": sidebar_links.SidebarLinksDirective} assert app.registry.source_parsers == {}
def test_setup(): setup_ret, directives, roles, additional_nodes, app = run_setup( no_docstring.setup) assert setup_ret == {"parallel_read_safe": True, "version": __version__} assert directives == {} assert roles == {} assert additional_nodes == set()
def test_setup(): setup_ret, directives, roles, additional_nodes, app = run_setup( source.setup) assert roles == {"source": source.source_role} assert app.config.values["source_link_target"] == ("Sphinx", "env", [str]) assert app.registry.source_parsers == {} assert app.events.listeners == { "config-inited": [EventListener(0, source._configure, 500)] }
def test_setup(): setup_ret, directives, roles, additional_nodes, app = run_setup(annotations.setup) assert setup_ret == { "version": __version__, "parallel_read_safe": True, } assert directives == {} assert roles == {} assert additional_nodes == set()
def test_setup(): setup_ret, directives, roles, additional_nodes, app = run_setup( generic_bases.setup) assert setup_ret == {"parallel_read_safe": True, "version": __version__} assert directives == {"autoclass": AutodocDirective} assert roles == {} assert additional_nodes == set() assert app.registry.documenters[ "class"] == generic_bases.GenericBasesClassDocumenter
def test_setup(advanced_file_regression: AdvancedFileRegressionFixture): setup_ret, directives, roles, additional_nodes, app = run_setup(tabsize.setup) assert setup_ret == {"version": __version__, "parallel_read_safe": True} advanced_file_regression.check( pformat( app.registry.source_parsers, sort_dicts=True, ), extension=".dict", encoding="UTF-8", )
def test_setup(): setup_ret, directives, roles, additional_nodes, app = run_setup(_css.setup) assert setup_ret == { "version": sphinx_toolbox.__version__, "parallel_read_safe": True } assert additional_nodes == set() assert app.registry.translation_handlers == {} assert app.events.listeners == { "build-finished": [EventListener(0, _css.copy_asset_files, 500)] } assert app.registry.css_files == [("css/sphinx-toolbox.css", {})]
def test_setup(): setup_ret, directives, roles, additional_nodes, app = run_setup(autotypeddict.setup) assert setup_ret == {"parallel_read_safe": True, "version": __version__} assert directives == {"autotypeddict": AutodocDirective} assert roles == {} assert additional_nodes == set() assert "typeddict" in app.registry.domains["py"].object_types assert "typeddict" in app.registry.domain_directives["py"] assert "typeddict" in app.registry.domain_roles["py"] assert app.registry.documenters["typeddict"] == autotypeddict.TypedDictDocumenter
def test_setup(): try: Sphinx.extensions = [] # type: ignore setup_ret, directives, roles, additional_nodes, app = run_setup(augment_defaults.setup) assert setup_ret == {"parallel_read_safe": True, "version": __version__} assert directives == {} assert roles == {} assert additional_nodes == set() finally: del Sphinx.extensions # type: ignore
def test_setup(): app: Sphinx setup_ret, directives, roles, additional_nodes, app = run_setup( sphinxcontrib.toctree_plus.setup) assert setup_ret == { "version": __version__, "parallel_read_safe": True, "parallel_write_safe": True, } assert app.config.values["toctree_plus_types"] == ({ "class", "function", "method" }, "env", [Iterable[str]])
def test_setup(): result = run_setup(seed_intersphinx_mapping.setup) assert result.setup_ret == { "version": seed_intersphinx_mapping.__version__, "parallel_read_safe": True, "parallel_write_safe": True, } assert result.app.config["pkg_requirements_source"] == "requirements" assert result.app.config["repository_root"] == ".." assert result.app.events.listeners == { "config-inited": [EventListener(0, sphinx_seed_intersphinx_mapping, priority=850)], }
def test_setup(): try: Sphinx.extensions = [] # type: ignore setup_ret, directives, roles, additional_nodes, app = run_setup(typehints.setup) assert setup_ret == {"parallel_read_safe": True, "version": __version__} assert app.config.values["hide_none_rtype"] == (False, "env", [bool]) assert directives == {} assert roles == {} assert additional_nodes == set() finally: del Sphinx.extensions # type: ignore
def test_setup(): setup_ret, directives, roles, additional_nodes, app = run_setup( issues.setup) assert setup_ret == { "version": sphinx_toolbox.__version__, "parallel_read_safe": True } assert roles == { "issue": issue_role, "pr": pull_role, "pull": pull_role, } assert additional_nodes == set() assert app.registry.translation_handlers == {}
def test_setup(): setup_ret, directives, roles, additional_nodes, app = run_setup( sphinx_toolbox.setup) assert setup_ret == { "version": sphinx_toolbox.__version__, "parallel_read_safe": True } assert additional_nodes == set() assert app.registry.translation_handlers == {} assert app.events.listeners == { "config-inited": [EventListener(id=0, handler=config.validate_config, priority=850)], }
def test_setup(): setup_ret, directives, roles, additional_nodes, app = run_setup( regex.setup) assert setup_ret == {"parallel_read_safe": True, "version": __version__} assert directives == {"autoregex": AutodocDirective} assert "regex" in roles assert isinstance(roles["regex"], regex.Regex) assert additional_nodes == {regex.RegexNode} assert app.registry.documenters["regex"] == regex.RegexDocumenter assert app.events.listeners == { "config-inited": [EventListener(0, regex.configure, 500)] } assert app.registry.css_files == []
def test_setup(): setup_ret, directives, roles, additional_nodes, app = run_setup( rest_example.setup) assert app.events.listeners == { "env-purge-doc": [ EventListener(id=0, handler=rest_example_purger.purge_nodes, priority=500), ], } assert directives == { "rest-example": reSTExampleDirective, } assert app.registry.source_parsers == {}
def test_setup(): setup_ret, directives, roles, additional_nodes, app = run_setup( assets.setup) assert setup_ret == {"parallel_read_safe": True, "version": __version__} assert directives == {} assert roles == {"asset": assets.asset_role} assert additional_nodes == {assets.AssetNode} assert app.registry.translation_handlers == { "html": { "AssetNode": (assets.visit_asset_node, assets.depart_asset_node) } } assert app.config.values["assets_dir"] == ("./assets", "env", [str]) assert app.registry.source_parsers == {}
def test_setup(): setup_ret, directives, roles, additional_nodes, app = run_setup( typevars.setup) assert setup_ret == {"parallel_read_safe": True, "version": __version__} assert directives == {"autotypevar": AutodocDirective} assert roles == {} assert additional_nodes == set() assert app.registry.documenters["typevar"] == typevars.TypeVarDocumenter assert app.events.listeners == { "config-inited": [EventListener(id=0, handler=typevars.validate_config, priority=850)], } assert app.config.values["no_unbound_typevars"] == (True, "env", [bool])
def test_testing(): setup_ret, directives, roles, additional_nodes, app = run_setup(__setup) assert app.registry.builders["FakeBuilder"] == FakeBuilder assert app.config.values["source_link_target"] == ("Sphinx", "env", [str]) assert app.config.values["github_username"] == (None, "env", [str]) assert app.config.values["rebuild_true"] == (None, "env", ()) assert app.config.values["rebuild_false"] == (None, '', ()) assert app.events.events["my-event"] == '' assert app.registry.translators["my-translator"] is FakeNodeVisitor assert additional_nodes == {IssueNode} assert app.registry.translation_handlers == { "html": { "IssueNode": (visit_issue_node, depart_issue_node) } } assert roles == {"source": source_role} assert app.registry.domains["FakeDomain"] == FakeDomain assert app.registry.domain_roles.setdefault("FakeDomain", {})["source"] is source_role assert app.registry.transforms == [FakeTransform] assert app.registry.post_transforms == [FakeTransform] assert app.registry.latex_packages == [ ("booktabs", None), ("glossaries", "acronyms"), ] assert app.registry.latex_packages_after_hyperref == [("chemformula", None) ] assert lexer_classes["my-lexer"] == FakeLexer assert app.registry.autodoc_attrgettrs[FakeLexer] is get_fake_lexer assert app.registry.source_suffix[".py"] == "python" assert app.html_themes == {"domdf_sphinx_theme": '.'} assert app.events.listeners["config-inited"] == [ EventListener(id=0, handler=validate_config, priority=850) ] assert setup_ret == {"version": 12345, "parallel_read_safe": True}
def test_setup(): original_make_field = sphinx.util.docfields.TypedField.make_field try: setup_ret, directives, roles, additional_nodes, app = run_setup( param_dash.setup) assert setup_ret == { "version": sphinx_toolbox.__version__, "parallel_read_safe": True } assert directives == {} assert additional_nodes == set() assert app.registry.translation_handlers == {} assert app.events.listeners == {} finally: sphinx.util.docfields.TypedField.make_field = original_make_field # type: ignore
def test_setup(): setup_ret, directives, roles, additional_nodes, app = run_setup( sourcelink.setup) assert setup_ret == {"parallel_read_safe": True, "version": __version__} assert directives == {} assert roles == {} assert additional_nodes == set() _listener = [ EventListener(id=0, handler=sourcelink.sourcelinks_process_docstring, priority=500) ] assert app.events.listeners == {"autodoc-process-docstring": _listener} assert app.config.values["autodoc_show_sourcelink"] == (False, "env", [bool])
def test_setup(): setup_ret, directives, roles, additional_nodes, app = run_setup(variables.setup) assert setup_ret == {"parallel_read_safe": True, "version": __version__} assert directives == { "autovariable": AutodocDirective, "autoattribute": AutodocDirective, "autoinstanceattribute": AutodocDirective, "autoslotsattribute": AutodocDirective, } assert roles == {} assert additional_nodes == set() assert app.registry.documenters["variable"] == variables.VariableDocumenter assert app.registry.documenters["attribute"] == variables.TypedAttributeDocumenter assert app.registry.documenters["instanceattribute"] == variables.InstanceAttributeDocumenter assert app.registry.documenters["slotsattribute"] == variables.SlotsAttributeDocumenter
def test_setup(): setup_ret, directives, roles, additional_nodes, app = run_setup(code.setup) assert setup_ret == {"parallel_read_safe": True, "version": __version__} assert directives == { "code-block": code.CodeBlock, "sourcecode": code.CodeBlock, "code-cell": code.CodeCell, "output-cell": code.OutputCell, } assert not roles assert additional_nodes == {code.Prompt} assert app.events.listeners == { "build-finished": [EventListener(id=1, handler=code.copy_asset_files, priority=500)], "config-inited": [EventListener(id=0, handler=code.configure, priority=500)], }
def test_setup(): setup_ret, directives, roles, additional_nodes, app = run_setup( sphinx_panels_tabs.setup) assert setup_ret == { "version": sphinx_toolbox.__version__, "parallel_read_safe": True } assert directives == {} assert additional_nodes == set() assert app.registry.translation_handlers == { "html": { "container": (sphinx_panels_tabs.visit_container, sphinx_panels_tabs.depart_container) } } assert app.events.listeners == {}