Metadata-Version: 2.1
Name: sphinxtesters
Version: 0.2.3
Summary: Utilities for testing Sphinx extensions
Home-page: http://github.com/matthew-brett/sphinxtesters
Author: Matthew Brett
Author-email: matthew.brett@gmail.com
Maintainer: Matthew Brett
Maintainer-email: matthew.brett@gmail.com
License: BSD license
Description: #######################################################
        Sphinxtesters - utilities for testing Sphinx extensions
        #######################################################
        
        .. shared-text-body
        
        **********
        Quickstart
        **********
        
        If you have a directory containing a sphinx project, test that it builds with
        something like:
        
        .. code:: python
        
            class TestMyProject(SourcesBuilder):
        
                page_source_template = 'path/to/sphinx_dir'
        
                def test_basic_build(self):
                    # Get doctree for page "a_page.rst"
                    doctree = self.get_doctree('a_page')
                    # Assert stuff about doctree version of page
                    html = self.get_built_file('a_page.html')
                    # Assert stuff about html version of page
        
        You can try adding other page content by using the ``rst_sources`` dictionary:
        
        .. code:: python
        
            class TestChangedProject(SourcesBuilder):
        
                page_source_template = 'path/to/sphinx_dir'
                rst_sources = {'a_page': """Replacement text for page""",
                               'b_page': """An entirely new page"""}
        
                def test_basic_build(self):
                    a_doctree = self.get_doctree('a_page')
                    b_doctree = self.get_doctree('b_page')
                    # Your tests for the new page content here
        
        Set the text of the ``conf.py`` file with the ``conf_source`` attribute:
        
        .. code:: python
        
            class TestConfeddProject(SourcesBuilder):
        
                page_source_template = 'path/to/sphinx_dir'
                rst_sources = {'a_page': """Replacement text for page""",
                               'b_page': """An entirely new page"""}
                conf_source = """ # This overwrites existing conf.py """
        
                def test_basic_build(self):
                    a_doctree = self.get_doctree('a_page')
                    b_doctree = self.get_doctree('b_page')
                    # Your tests for the new page content here
        
        You don't need to set ``page_source_template``; if you don't, you start with a
        fresh project, where the only pages are the ones you specify in
        ``rst_sources``.
        
        .. code:: python
        
            class TestFreshProject(SourcesBuilder):
        
                rst_sources = {'a_page': """A new page""",
                               'b_page': """Another new page"""}
                conf_source = """ # Stuff for the conf.py file """
        
                def test_basic_build(self):
                    a_doctree = self.get_doctree('a_page')
                    b_doctree = self.get_doctree('b_page')
                    # Your tests for the new page content here
        
        See the tests for examples of using Sphinxtesters for testing builds of Sphinx
        projects.
        
        ************
        Installation
        ************
        
        ::
        
            pip install sphinxtesters
        
        ****
        Code
        ****
        
        See https://github.com/matthew-brett/sphinxtesters
        
        Released under the BSD two-clause license - see the file ``LICENSE`` in the
        source distribution.
        
        `travis-ci <https://travis-ci.org/matthew-brett/sphinxtesters>`_ kindly tests the
        code automatically under Python versions 2.7, and 3.3 through 3.6.
        
        The latest released version is at https://pypi.python.org/pypi/sphinxtesters
        
        *****
        Tests
        *****
        
        * Install ``sphinxtesters``
        * Install the pytest_ testing framework::
        
            pip install pytest
        
        * Run the tests with::
        
            pytest sphinxtesters
        
        *******
        Support
        *******
        
        Please put up issues on the `sphinxtesters issue tracker`_.
        
        .. standalone-references
        
        .. |sphinxtesters-documentation| replace:: `sphinxtesters documentation`_
        .. _sphinxtesters documentation:
            https://matthew-brett.github.com/sphinxtesters/sphinxtesters.html
        .. _documentation: https://matthew-brett.github.com/sphinxtesters
        .. _pandoc: http://pandoc.org
        .. _jupyter: jupyter.org
        .. _homebrew: brew.sh
        .. _sphinx: http://sphinx-doc.org
        .. _rest: http://docutils.sourceforge.net/rst.html
        .. _sphinxtesters issue tracker: https://github.com/matthew-brett/sphinxtesters/issues
        .. _pytest: https://pytest.org
        .. _mock: https://github.com/testing-cabal/mock
        
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX
Classifier: Operating System :: Unix
Classifier: Operating System :: MacOS
Provides-Extra: test
