diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fe5a401..476091b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,22 +36,6 @@ jobs: pip install -r test/requirements.txt pip install . - - name: Build Test - run: | - cd test/must-build && make html SPHINXOPTS='-W' - - - name: Build Test with toc show_parents=hide - run: | - cd test/must-build && make html SPHINXOPTS='-W -D toc_object_entries_show_parents=hide' - - - name: Build Test with toc show_parents=domain - run: | - cd test/must-build && make html SPHINXOPTS='-W -D toc_object_entries_show_parents=domain' - - - name: Build Test with toc show_parents=all - run: | - cd test/must-build && make html SPHINXOPTS='-W -D toc_object_entries_show_parents=all' - - name: Build Unit Tests run: | cd test @@ -77,3 +61,18 @@ jobs: commit_user_name: Bot commit_user_email: bot@example.com commit_author: Bot + + - name: Build Unit Tests with toc show_parents=hide + run: | + cd test + make html SPHINXOPTS='-W -D toc_object_entries_show_parents=hide' + + - name: Build Unit Tests with toc show_parents=domain + run: | + cd test + make html SPHINXOPTS='-W -D toc_object_entries_show_parents=domain' + + - name: Build Unit Tests with toc show_parents=all + run: | + cd test + make html SPHINXOPTS='-W -D toc_object_entries_show_parents=all' diff --git a/test/must-build/Makefile b/test/must-build/Makefile deleted file mode 100644 index f61d988..0000000 --- a/test/must-build/Makefile +++ /dev/null @@ -1,130 +0,0 @@ -# Makefile for Sphinx documentation -# - -# You can set these variables from the command line. -SPHINXOPTS = -SPHINXBUILD = sphinx-build -PAPER = -BUILDDIR = _build - -# Internal variables. -PAPEROPT_a4 = -D latex_paper_size=a4 -PAPEROPT_letter = -D latex_paper_size=letter -ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . - -.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest - -help: - @echo "Please use \`make ' where is one of" - @echo " html to make standalone HTML files" - @echo " dirhtml to make HTML files named index.html in directories" - @echo " singlehtml to make a single large HTML file" - @echo " pickle to make pickle files" - @echo " json to make JSON files" - @echo " htmlhelp to make HTML files and a HTML help project" - @echo " qthelp to make HTML files and a qthelp project" - @echo " devhelp to make HTML files and a Devhelp project" - @echo " epub to make an epub" - @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" - @echo " latexpdf to make LaTeX files and run them through pdflatex" - @echo " text to make text files" - @echo " man to make manual pages" - @echo " changes to make an overview of all changed/added/deprecated items" - @echo " linkcheck to check all external links for integrity" - @echo " doctest to run all doctests embedded in the documentation (if enabled)" - -clean: - -rm -rf $(BUILDDIR)/* - -html: - $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." - -dirhtml: - $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." - -singlehtml: - $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml - @echo - @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." - -pickle: - $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle - @echo - @echo "Build finished; now you can process the pickle files." - -json: - $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json - @echo - @echo "Build finished; now you can process the JSON files." - -htmlhelp: - $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp - @echo - @echo "Build finished; now you can run HTML Help Workshop with the" \ - ".hhp project file in $(BUILDDIR)/htmlhelp." - -qthelp: - $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp - @echo - @echo "Build finished; now you can run "qcollectiongenerator" with the" \ - ".qhcp project file in $(BUILDDIR)/qthelp, like this:" - @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/sphinxcontrib-rubydomain-acceptancetest.qhcp" - @echo "To view the help file:" - @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/sphinxcontrib-rubydomain-acceptancetest.qhc" - -devhelp: - $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp - @echo - @echo "Build finished." - @echo "To view the help file:" - @echo "# mkdir -p $$HOME/.local/share/devhelp/sphinxcontrib-rubydomain-acceptancetest" - @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/sphinxcontrib-rubydomain-acceptancetest" - @echo "# devhelp" - -epub: - $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub - @echo - @echo "Build finished. The epub file is in $(BUILDDIR)/epub." - -latex: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo - @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." - @echo "Run \`make all-pdf' or \`make all-ps' in that directory to" \ - "run these through (pdf)latex." - -latexpdf: latex - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo "Running LaTeX files through pdflatex..." - make -C $(BUILDDIR)/latex all-pdf - @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." - -text: - $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text - @echo - @echo "Build finished. The text files are in $(BUILDDIR)/text." - -man: - $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man - @echo - @echo "Build finished. The manual pages are in $(BUILDDIR)/man." - -changes: - $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes - @echo - @echo "The overview file is in $(BUILDDIR)/changes." - -linkcheck: - $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck - @echo - @echo "Link check complete; look for any errors in the above output " \ - "or in $(BUILDDIR)/linkcheck/output.txt." - -doctest: - $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest - @echo "Testing of doctests in the sources finished, look at the " \ - "results in $(BUILDDIR)/doctest/output.txt." diff --git a/test/must-build/conf.py b/test/must-build/conf.py deleted file mode 100644 index e3bde51..0000000 --- a/test/must-build/conf.py +++ /dev/null @@ -1,210 +0,0 @@ -# -*- coding: utf-8 -*- -# -# sphinxcontrib-rubydomain-acceptancetest documentation build configuration file, created by -# sphinx-quickstart on Sun Apr 25 13:27:18 2010. -# -# This file is execfile()d with the current directory set to its containing dir. -# -# Note that not all possible configuration values are present in this -# autogenerated file. -# -# All configuration values have a default; values that are commented out -# serve to show the default. - -import sys, os - -# If extensions (or modules to document with autodoc) are in another directory, -# add these directories to sys.path here. If the directory is relative to the -# documentation root, use os.path.abspath to make it absolute, like shown here. -sys.path.append(os.path.abspath('..')) - -# -- General configuration ----------------------------------------------------- - -# If your documentation needs a minimal Sphinx version, state it here. -needs_sphinx = '1.0' - -# Add any Sphinx extension module names here, as strings. They can be extensions -# coming with Sphinx (named 'sphinx.ext.*') or your custom ones. -extensions = ['sphinxcontrib.phpdomain'] - -# Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] - -# The suffix of source filenames. -source_suffix = '.rst' - -# The encoding of source files. -#source_encoding = 'utf-8-sig' - -# The master toctree document. -master_doc = 'index' - -# General information about the project. -project = u'sphinxcontrib-phpdomain-acceptancetest' -copyright = u'2011, Mark Story' - -# The version info for the project you're documenting, acts as replacement for -# |version| and |release|, also used in various other places throughout the -# built documents. -# -# The short X.Y version. -version = '0.1' -# The full version, including alpha/beta/rc tags. -release = '0.1' - -# The language for content autogenerated by Sphinx. Refer to documentation -# for a list of supported languages. -#language = None - -# There are two options for replacing |today|: either, you set today to some -# non-false value, then it is used: -#today = '' -# Else, today_fmt is used as the format for a strftime call. -#today_fmt = '%B %d, %Y' - -# List of patterns, relative to source directory, that match files and -# directories to ignore when looking for source files. -exclude_patterns = ['_build'] - -# The reST default role (used for this markup: `text`) to use for all documents. -#default_role = None - -# If true, '()' will be appended to :func: etc. cross-reference text. -#add_function_parentheses = True - -# If true, the current module name will be prepended to all description -# unit titles (such as .. function::). -#add_module_names = True - -# If true, sectionauthor and moduleauthor directives will be shown in the -# output. They are ignored by default. -#show_authors = False - -# The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'sphinx' - -# A list of ignored prefixes for module index sorting. -#modindex_common_prefix = [] - - -# -- Options for HTML output --------------------------------------------------- - -# The theme to use for HTML and HTML Help pages. Major themes that come with -# Sphinx are currently 'default' and 'sphinxdoc'. -html_theme = 'default' - -# Theme options are theme-specific and customize the look and feel of a theme -# further. For a list of options available for each theme, see the -# documentation. -#html_theme_options = {} - -# Add any paths that contain custom themes here, relative to this directory. -#html_theme_path = [] - -# The name for this set of Sphinx documents. If None, it defaults to -# " v documentation". -#html_title = None - -# A shorter title for the navigation bar. Default is the same as html_title. -#html_short_title = None - -# The name of an image file (relative to this directory) to place at the top -# of the sidebar. -#html_logo = None - -# The name of an image file (within the static path) to use as favicon of the -# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 -# pixels large. -#html_favicon = None - -# Add any paths that contain custom static files (such as style sheets) here, -# relative to this directory. They are copied after the builtin static files, -# so a file named "default.css" will overwrite the builtin "default.css". -#html_static_path = ['_static'] - -# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, -# using the given strftime format. -#html_last_updated_fmt = '%b %d, %Y' - -# If true, SmartyPants will be used to convert quotes and dashes to -# typographically correct entities. -#html_use_smartypants = True - -# Custom sidebar templates, maps document names to template names. -#html_sidebars = {} - -# Additional templates that should be rendered to pages, maps page names to -# template names. -#html_additional_pages = {} - -# If false, no module index is generated. -#html_domain_indices = True - -# If false, no index is generated. -#html_use_index = True - -# If true, the index is split into individual pages for each letter. -#html_split_index = False - -# If true, links to the reST sources are added to the pages. -#html_show_sourcelink = True - -# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. -#html_show_sphinx = True - -# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. -#html_show_copyright = True - -# If true, an OpenSearch description file will be output, and all pages will -# contain a tag referring to it. The value of this option must be the -# base URL from which the finished HTML is served. -#html_use_opensearch = '' - -# If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml"). -#html_file_suffix = '' - -# Output file base name for HTML help builder. -htmlhelp_basename = 'sphinxcontrib-phpdomain-acceptancetestdoc' - - -# -- Options for LaTeX output -------------------------------------------------- - -# The paper size ('letter' or 'a4'). -#latex_paper_size = 'letter' - -# The font size ('10pt', '11pt' or '12pt'). -#latex_font_size = '10pt' - -# Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, author, documentclass [howto/manual]). -latex_documents = [ - ('index', 'sphinxcontrib-phpdomain-acceptancetest.tex', u'sphinxcontrib-phpdomain-acceptancetest Documentation', - u'Mark Story', 'manual'), -] - -# The name of an image file (relative to this directory) to place at the top of -# the title page. -#latex_logo = None - -# For "manual" documents, if this is true, then toplevel headings are parts, -# not chapters. -#latex_use_parts = False - -# Additional stuff for the LaTeX preamble. -#latex_preamble = '' - -# Documents to append as an appendix to all manuals. -#latex_appendices = [] - -# If false, no module index is generated. -#latex_domain_indices = True - - -# -- Options for manual page output -------------------------------------------- - -# One entry per manual page. List of tuples -# (source start file, name, description, authors, manual section). -man_pages = [ - ('index', 'sphinxcontrib-phpdomain-acceptancetest', u'sphinxcontrib-phpdomain-acceptancetest Documentation', - [u'Mark Story'], 1) -] diff --git a/test/must-build/make.bat b/test/must-build/make.bat deleted file mode 100644 index 4310ae1..0000000 --- a/test/must-build/make.bat +++ /dev/null @@ -1,155 +0,0 @@ -@ECHO OFF - -REM Command file for Sphinx documentation - -if "%SPHINXBUILD%" == "" ( - set SPHINXBUILD=sphinx-build -) -set BUILDDIR=_build -set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% . -if NOT "%PAPER%" == "" ( - set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS% -) - -if "%1" == "" goto help - -if "%1" == "help" ( - :help - echo.Please use `make ^` where ^ is one of - echo. html to make standalone HTML files - echo. dirhtml to make HTML files named index.html in directories - echo. singlehtml to make a single large HTML file - echo. pickle to make pickle files - echo. json to make JSON files - echo. htmlhelp to make HTML files and a HTML help project - echo. qthelp to make HTML files and a qthelp project - echo. devhelp to make HTML files and a Devhelp project - echo. epub to make an epub - echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter - echo. text to make text files - echo. man to make manual pages - echo. changes to make an overview over all changed/added/deprecated items - echo. linkcheck to check all external links for integrity - echo. doctest to run all doctests embedded in the documentation if enabled - goto end -) - -if "%1" == "clean" ( - for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i - del /q /s %BUILDDIR%\* - goto end -) - -if "%1" == "html" ( - %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html - echo. - echo.Build finished. The HTML pages are in %BUILDDIR%/html. - goto end -) - -if "%1" == "dirhtml" ( - %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml - echo. - echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml. - goto end -) - -if "%1" == "singlehtml" ( - %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml - echo. - echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml. - goto end -) - -if "%1" == "pickle" ( - %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle - echo. - echo.Build finished; now you can process the pickle files. - goto end -) - -if "%1" == "json" ( - %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json - echo. - echo.Build finished; now you can process the JSON files. - goto end -) - -if "%1" == "htmlhelp" ( - %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp - echo. - echo.Build finished; now you can run HTML Help Workshop with the ^ -.hhp project file in %BUILDDIR%/htmlhelp. - goto end -) - -if "%1" == "qthelp" ( - %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp - echo. - echo.Build finished; now you can run "qcollectiongenerator" with the ^ -.qhcp project file in %BUILDDIR%/qthelp, like this: - echo.^> qcollectiongenerator %BUILDDIR%\qthelp\sphinxcontrib-rubydomain-acceptancetest.qhcp - echo.To view the help file: - echo.^> assistant -collectionFile %BUILDDIR%\qthelp\sphinxcontrib-rubydomain-acceptancetest.ghc - goto end -) - -if "%1" == "devhelp" ( - %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp - echo. - echo.Build finished. - goto end -) - -if "%1" == "epub" ( - %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub - echo. - echo.Build finished. The epub file is in %BUILDDIR%/epub. - goto end -) - -if "%1" == "latex" ( - %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex - echo. - echo.Build finished; the LaTeX files are in %BUILDDIR%/latex. - goto end -) - -if "%1" == "text" ( - %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text - echo. - echo.Build finished. The text files are in %BUILDDIR%/text. - goto end -) - -if "%1" == "man" ( - %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man - echo. - echo.Build finished. The manual pages are in %BUILDDIR%/man. - goto end -) - -if "%1" == "changes" ( - %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes - echo. - echo.The overview file is in %BUILDDIR%/changes. - goto end -) - -if "%1" == "linkcheck" ( - %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck - echo. - echo.Link check complete; look for any errors in the above output ^ -or in %BUILDDIR%/linkcheck/output.txt. - goto end -) - -if "%1" == "doctest" ( - %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest - echo. - echo.Testing of doctests in the sources finished, look at the ^ -results in %BUILDDIR%/doctest/output.txt. - goto end -) - -:end diff --git a/test/rst_doc.html b/test/rst_doc.html new file mode 100644 index 0000000..38078b9 --- /dev/null +++ b/test/rst_doc.html @@ -0,0 +1,2186 @@ + +
+
+

Acceptance tests for PHPdomain

+
+

Globals

+
+
+ + $global_var + + +
+
+

A global variable

+
+
+
+
+ + constant + + + SOME_CONSTANT + + +
+
+

A global constant

+
+
+
+
+ + constant + + + VALUE + + +
+
+

A global constant

+
+
+
+
in_array(needle, haystack)
+
+

Checks for needle in haystack.

+
+
Parameters:
+
+
    +
  • +

    needle – The element to search for.

    +
  • +
  • +

    haystack (array) – The array to search.

    +
  • +
+
+
Returns:
+
+

Element exists in array.

+
+
Return type:
+
+

+ + + boolean + + +

+
+
+
+
+
+
+

Classes

+
+
+ + class + + + DateTime + + +
+
+

Datetime class

+
+
setDate($year, $month, $day)
+
+

Set the date in the datetime object

+
+
Parameters:
+
+
    +
  • +

    $year (int) – The year.

    +
  • +
  • +

    $month (int) – The month.

    +
  • +
  • +

    $day (int) – The day.

    +
  • +
+
+
+
+
+
+
setTime($hour, $minute[, $second])
+
+

Set the time

+
+
Parameters:
+
+
    +
  • +

    $hour (int) – The hour

    +
  • +
  • +

    $minute (int) – The minute

    +
  • +
  • +

    $second (int) – The second

    +
  • +
+
+
+
+
+
+
+ + public + + + static + + + getLastErrors + + ( + ) + +
+
+

Returns the warnings and errors

+
+
Returns:
+
+

array Returns array containing info about warnings and errors.

+
+
+
+
+
+
+ + constant + + + ATOM + + +
+
+

Y-m-dTH:i:sP

+
+
+
+
+ + property + + + testattr + + +
+
+

Value of some attribute

+
+
+
+
+
+
+ + class + + + OtherClass + + +
+
+

Another class

+
+
+
+
OtherClass::update($arg='', $arg2=[], $arg3=[])
+
+

Update something.

+
+
+
+
+ + property + + + OtherClass::$ + + + nonIndentedAttribute + + +
+
+

This attribute wasn’t indented

+
+
+
+
+ + constant + + + OtherClass:: + + + NO_INDENT + + +
+
+

This class constant wasn’t indented

+
+
+
+
+ + static + + + OtherClass:: + + + staticMethod + + +
+
+

A static method.

+
+
+
+
+

Exceptions

+
+
+ + exception + + + InvalidArgumentException + + +
+
+

Throw when you get an argument that is bad.

+
+
+
+
+

Interfaces

+
+
+ + interface + + + DateTimeInterface + + +
+
+

Datetime interface

+
+
setDate($year, $month, $day)
+
+

Set the date in the datetime object

+
+
Parameters:
+
+
    +
  • +

    $year (int) – The year.

    +
  • +
  • +

    $month (int) – The month.

    +
  • +
  • +

    $day (int) – The day.

    +
  • +
+
+
+
+
+
+
setTime($hour, $minute[, $second])
+
+

Set the time

+
+
Parameters:
+
+
    +
  • +

    $hour (int) – The hour

    +
  • +
  • +

    $minute (int) – The minute

    +
  • +
  • +

    $second (int) – The second

    +
  • +
+
+
+
+
+
+
+ + constant + + + ATOM + + +
+
+

Y-m-dTH:i:sP

+
+
+
+
+ + property + + + testattr + + +
+
+

Value of some attribute

+
+
+
+
+
+
+ + interface + + + OtherInterface + + +
+
+

Another interface

+
+
+
+
+

Traits

+
+
+ + trait + + + LogTrait + + +
+
+

A logging trait

+
+
log($level, $string)
+
+

A method description.

+
+
+
+
+
+
+

More globals after classes

+
+
+ + $other_global_var + + +
+
+

A global variable

+
+
+
+
strpos($needle, $haystack)
+
+

Position of needle in haystack

+
+
+
+

Test Case - Global symbols with no namespaces

+

+ + + $global_var + + +

+

+ + + $other_global_var + + +

+

+ + + SOME_CONSTANT + + +

+

+ + + in_array + + +

+

+ + + strpos + + +

+

+ + + DateTime + + +

+

+ + + DateTime::setTime() + + +

+

+ + + DateTime::getLastErrors() + + +

+

+ + + DateTime::setDate() + + +

+

+ + + DateTime::ATOM + + +

+

+ + + DateTime::$testattr + + +

+

+ + + OtherClass::update + + +

+

+ + + OtherClass::$nonIndentedAttribute + + +

+

+ + + OtherClass::NO_INDENT + + +

+

+ + + OtherClass::staticMethod + + +

+

+ + + InvalidArgumentException + + +

+

+ + + DateTimeInterface + + +

+

+ + + DateTimeInterface::setTime() + + +

+

+ + + setDate() + + +

+

+ + + DateTimeInterface::ATOM + + +

+

+ + + DateTimeInterface::$testattr + + +

+

+ + + OtherInterface + + +

+

+ + + LogTrait + + +

+

+ + + LogTrait::log() + + +

+
+ +
+
+ +

Namespaced elements

+
+
namespaced_function($one[, $two])
+
+

A function in a namespace

+
+
Parameters:
+
+
    +
  • +

    $one (string) – First parameter.

    +
  • +
  • +

    $two (string) – Second parameter.

    +
  • +
+
+
+
+
+
+
+ + constant + + + LibraryName\ + + + NS_CONST + + +
+
+

A constant in a namespace

+
+
+
+
+ + exception + + + LibraryName\ + + + NamespaceException + + +
+
+

This exception is in a namespace.

+
+
+
+
+ + class + + + LibraryName\ + + + LibraryClass + + +
+
+

A class in a namespace

+
+
+ + instanceMethod + + ( + + $foo + + ) + +
+
+

An instance method

+
+
+
+
+ + constant + + + TEST_CONST + + +
+
+

Test constant

+
+
+
+
+ + property + + + property + + +
+
+

A property!

+
+
+
+
+
+
+ + static + + + LibraryName\LibraryClass:: + + + staticMethod + + +
+
+

A static method in a namespace

+
+
+
+
+ + class + + + LibraryName\ + + + NamespaceClass + + +
+
+

A class in the namespace, no indenting on children

+
+
+
+
LibraryName\NamespaceClass::firstMethod($one, $two)
+
+

A normal instance method.

+
+
+
+
+ + property + + + LibraryName\NamespaceClass::$ + + + property + + +
+
+

A property

+
+
+
+
+ + constant + + + LibraryName\NamespaceClass:: + + + NAMESPACE_CONST + + +
+
+

Const on class in namespace

+
+
+
+
+ + static + + + LibraryName\NamespaceClass:: + + + namespaceStatic + + ( + + $foo + + ) + +
+
+

A static method here.

+
+
+
+
+ + final + + + class + + + LibraryName\ + + + LibraryClassFinal + + +
+
+

A final class

+
+
+
+
publicLibraryName\LibraryClassFinal::firstMethod($one, $two)
+
+

A public instance method.

+
+
+
+
protectedLibraryName\LibraryClassFinal::secondMethod($one, $two)
+
+

A protected instance method.

+
+
+
+
privateLibraryName\LibraryClassFinal::thirdMethod($one, $two)
+
+

A private instance method.

+
+
+
+
staticLibraryName\LibraryClassFinal::fourthMethod($one, $two)
+
+

A static method.

+
+
+
+
protectedfinalLibraryName\LibraryClassFinal::fifthMethod($one, $two)
+
+

A protected final method.

+
+
+
+
+ + abstract + + + class + + + LibraryName\ + + + LibraryClassAbstract + + +
+
+

An abstract class

+
+
+
+
+ + interface + + + LibraryName\ + + + LibraryInterface + + +
+
+

A interface in a namespace

+
+
+ + instanceMethod + + ( + + $foo + + ) + +
+
+
+

An instance method

+
+
+
+
+ + trait + + + LibraryName\ + + + TemplateTrait + + +
+
+

A trait in a namespace

+
+
+ + render + + ( + + $template + + ) + +
+
+
+

Render a template.

+
+
+
+

Test Case - not including namespace

+

Within a namespace context you don’t need to include the namespace in links.

+

+ + + LibraryName + + +

+

+ + + namespaced_function() + + +

+

+ + + NS_CONST + + +

+

+ + + LibraryClass + + +

+

+ + + LibraryClass::instanceMethod + + +

+

+ + + LibraryClass::staticMethod() + + +

+

+ + + LibraryClass::$property + + +

+

+ + + LibraryClass::TEST_CONST + + +

+

+ + + LibraryName\OtherClass + + +

+

+ + + LibraryName\ThirdClass + + +

+

+ + + NamespaceClass + + +

+

+ + + NamespaceClass::firstMethod + + +

+

+ + + NamespaceClass::$property + + +

+

+ + + NamespaceClass::NAMESPACE_CONST + + +

+

+ + + LibraryClassFinal + + +

+

+ + + LibraryClassFinal::firstMethod + + +

+

+ + + LibraryClassFinal::secondMethod + + +

+

+ + + LibraryClassFinal::thirdMethod + + +

+

+ + + LibraryClassFinal::fourthMethod + + +

+

+ + + LibraryClassFinal::fifthMethod + + +

+

+ + + LibraryInterface + + +

+

+ + + LibraryInterface::instanceMethod + + +

+

+ + + NamespaceException + + +

+

+ + + TemplateTrait + + +

+

+ + + LibraryName\TemplateTrait + + +

+

+ + + LibraryName\TemplateTrait::render() + + +

+
+ +
+

Test Case - global access

+

+ + + DateTime + + +

+

+ + + DateTime::setTime() + + +

+

+ + + $global_var + + +

+

+ + + SOME_CONSTANT + + +

+

+ + + LibraryName\LibraryClass::$property + + +

+

$property Should not be prefixed with classname.

+

+ + + LibraryName\LibraryClass::TEST_CONST + + +

+

+ + + LibraryName\NS_CONST + + +

+

+ + + DateTimeInterface + + +

+

+ + + DateTimeInterface::setTime() + + +

+
+
+
+

Any Cross Ref

+

+ + + LibraryName\NS_CONST + + +

+

+ + + DateTimeInterface::setTime() + + +

+
+
+ +

Nested namespaces

+
+
+ + exception + + + LibraryName\SubPackage\ + + + NestedNamespaceException + + +
+
+

In a package

+
+
+
+
+ + class + + + LibraryName\SubPackage\ + + + SubpackageClass + + +
+
+

A class in a subpackage

+
+
+
+
+ + interface + + + LibraryName\SubPackage\ + + + SubpackageInterface + + +
+
+

A class in a subpackage

+
+
+ +
+
+ +

Return Types

+
+
+ + class + + + OtherLibrary\ + + + ReturningClass + + +
+
+

A class to do some returning.

+
+
+ + returnClassFromSameNamespace + + ( + ) + +
+
+
+
Returns:
+
+

An object instance of a class from the same namespace.

+
+
Return type:
+
+

+ + + + OtherLibrary\ReturnedClass + + + +

+
+
+
+
+
+
+ + returnClassFromOtherNamespace + + ( + ) + +
+
+
+
Returns:
+
+

An object instance of a class from another namespace.

+
+
Return type:
+
+

+ + + + LibraryName\SubPackage\SubpackageInterface + + + +

+
+
+
+
+
+
+ + returnClassConstant + + ( + ) + +
+
+
+
Returns:
+
+

The value of a specific class constant.

+
+
Return type:
+
+

+ + + + LibraryName\NamespaceClass::NAMESPACE_CONST + + + +

+
+
+
+
+
+
+ + returnGlobalConstant + + ( + ) + +
+
+
+
Returns:
+
+

The value of a specific global constant.

+
+
Return type:
+
+

+ + + + SOME_CONSTANT + + + +

+
+
+
+
+
+
+ + returnExceptionInstance + + ( + ) + +
+
+
+
Returns:
+
+

An instance of an exception.

+
+
Return type:
+
+

+ + + + InvalidArgumentException + + + +

+
+
+
+
+
+
+ + returnScalarType + + ( + ) + +
+
+
+
Returns:
+
+

A scalar string type.

+
+
Return type:
+
+

+ + + string + + +

+
+
+
+
+
+
+ + returnUnionType + + ( + ) + +
+
+
+
Returns:
+
+

Any of a whole bunch of things specified with a PHP 8 union type.

+
+
Return type:
+
+

+ + + int|string|OtherLibrary\ReturnedClass|LibraryName\SubPackage\SubpackageInterface|null + + +

+
+
+
+
+
+
+
+
+ + class + + + OtherLibrary\ + + + ReturnedClass + + +
+
+

A class to return.

+
+
+
+
+

Enums

+
+ +

Basic Enumerations

+
+
+ + enum + + + Example\Basic\ + + + Suit + + +
+
+

In playing cards, a suit is one of the categories into which the cards of a +deck are divided.

+
+
+ + case + + + Hearts + + +
+
+
+
+
+ + case + + + Diamonds + + +
+
+
+
+
+ + case + + + Clubs + + +
+
+
+
+
+ + case + + + Spades + + +
+
+
+
+
+
+
+ +

Backed Enumerations

+
+
+ + enum + + + Example\Backed\ + + + Suit + + + + + string + + + +
+
+

In playing cards, a suit is one of the categories into which the cards of a +deck are divided.

+
+
+ + case + + + Hearts + + + + + 'H' + + + +
+
+
+
+
+ + case + + + Diamonds + + + + + 'D' + + + +
+
+
+
+
+ + case + + + Clubs + + + + + 'C' + + + +
+
+
+
+
+ + case + + + Spades + + + + + 'S' + + + +
+
+
+
+
+
+
+ +

Advanced Enumerations

+
+
+ + enum + + + Example\Advanced\ + + + Suit + + + + + string + + + +
+
+

In playing cards, a suit is one of the categories into which the cards of a +deck are divided.

+
+
+ + case + + + Hearts + + + + + 'H' + + + +
+
+
+
+
+ + case + + + Diamonds + + + + + 'D' + + + +
+
+
+
+
+ + case + + + Clubs + + + + + 'C' + + + +
+
+
+
+
+ + case + + + Spades + + + + + 'S' + + + +
+
+
+
+
+ + color + + ( + ) + + + + string + + + +
+
+

Returns “red” for hearts and diamonds, “black” for clubs and spades.

+
+
+
+
+ + static + + + values + + + + + string[] + + + +
+
+

Returns an array of the values of all the cases on this enum.

+
+
+
+
+ + constant + + + Roses + + + + + Hearts + + + +
+
+

An alias for Example\Advanced\Suit::Hearts.

+
+
+
+
+ + constant + + + Bells + + + + + Diamonds + + + +
+
+

An alias for Example\Advanced\Suit::Diamonds.

+
+
+
+
+ + constant + + + Acorns + + + + + Clubs + + + +
+
+

An alias for Example\Advanced\Suit::Clubs.

+
+
+
+
+ + constant + + + Shields + + + + + Spades + + + +
+
+

An alias for Example\Advanced\Suit::Spades.

+
+
+
+
+
+ +
+
+
+
diff --git a/test/must-build/test_doc.rst b/test/rst_doc.md similarity index 99% rename from test/must-build/test_doc.rst rename to test/rst_doc.md index 862936a..a5fd2c7 100644 --- a/test/must-build/test_doc.rst +++ b/test/rst_doc.md @@ -1,3 +1,4 @@ +```{eval-rst} Acceptance tests for PHPdomain ############################## @@ -629,3 +630,4 @@ Links to Advanced Enumeration Example :php:const:`Example\\Advanced\\Suit::Acorns` :php:const:`Example\\Advanced\\Suit::Shields` +``` diff --git a/test/rst_doc2.html b/test/rst_doc2.html new file mode 100644 index 0000000..81294b4 --- /dev/null +++ b/test/rst_doc2.html @@ -0,0 +1,100 @@ + +
+
+

Top Level Namespace

+

namespace Imagine\Draw

+ +
+
+ + class + + + Imagine\Draw\ + + + DrawerInterface + + +
+
+
+

Instance of this interface is returned by ImagineImageImageInterface::draw.

+
+
Imagine\Draw\DrawerInterface::arc(PointInterface$center, BoxInterface$size, $start, $end, Color$color)
+
+

Draws an arc on a starting at a given x, y coordinates under a given start and end angles

+
+
Parameters:
+
+
    +
  • +

    $center (ImagineImagePointInterface) – Center of the arc.

    +
  • +
  • +

    $size (ImagineImageBoxInterface) – Size of the bounding box.

    +
  • +
  • +

    $start (integer) – Start angle.

    +
  • +
  • +

    $end (integer) – End angle.

    +
  • +
  • +

    $color (ImagineImageColor) – Line color.

    +
  • +
+
+
Throws:
+
+

ImagineExceptionRuntimeException

+
+
Returns:
+
+

ImagineDrawDrawerInterface

+
+
+
+
+
+

Re-used namespace

+

No indexing errors or links should point to this namespace.

+
+
+ + class + + + LibraryName\ + + + ThirdClass + + +
+
+

Another class in a currentmodule block

+
+
+

No indexing errors or links should point to this namespace.

+
+
+ + class + + + LibraryName\ + + + OtherClass + + +
+
+

Another class in a reused namespace

+
+
+
+
+
+
diff --git a/test/must-build/test_doc2.rst b/test/rst_doc2.md similarity index 98% rename from test/must-build/test_doc2.rst rename to test/rst_doc2.md index 2da3f00..a7774bd 100644 --- a/test/must-build/test_doc2.rst +++ b/test/rst_doc2.md @@ -1,3 +1,4 @@ +```{eval-rst} Top Level Namespace ################### @@ -41,4 +42,4 @@ No indexing errors or links should point to this namespace. .. php:class:: OtherClass Another class in a reused namespace - +``` diff --git a/test/rst_index.html b/test/rst_index.html new file mode 100644 index 0000000..fc236e7 --- /dev/null +++ b/test/rst_index.html @@ -0,0 +1,110 @@ + +
+
+

Welcome to sphinxcontrib-phpdomain-acceptancetest’s documentation!

+

Contents:

+ +
+
+

Indices and tables

+ +
+
+
diff --git a/test/must-build/index.rst b/test/rst_index.md similarity index 80% rename from test/must-build/index.rst rename to test/rst_index.md index cc97f67..798ea24 100644 --- a/test/must-build/index.rst +++ b/test/rst_index.md @@ -1,3 +1,4 @@ +```{eval-rst} Welcome to sphinxcontrib-phpdomain-acceptancetest's documentation! =================================================================== @@ -6,9 +7,9 @@ Contents: .. toctree:: :maxdepth: 2 - test_doc - test_doc2 - test_nesting_regression + rst_doc + rst_doc2 + rst_nesting_regression Indices and tables ================== @@ -16,4 +17,4 @@ Indices and tables * :ref:`genindex` * :ref:`modindex` * :ref:`search` - +``` diff --git a/test/rst_nesting_regression.html b/test/rst_nesting_regression.html new file mode 100644 index 0000000..55cc150 --- /dev/null +++ b/test/rst_nesting_regression.html @@ -0,0 +1,62 @@ + +
+
+

Nested method Regression

+

Test nested methods to ensure page generation doesn’t hard fail.

+
+
+ + populate_variables + + ( + ) + +
+
+
+
+

Set us up the vars

+
+
+
    +
  • +

    ‘post_id’: an integer post ID

    +
  • +
  • +

    ‘exclude_date’: boolean whether or not to include the date in the byline

    +
  • +
+
+
+
+
param array $args:
+
+

Associative array containing following keys:

+
+
+
+
+
+
+ + generate_byline + + ( + ) + +
+
+

this creates the byline text and adds it to $this->output

+
+
See:
+
+

$output $reates this

+
+
+
+
+
+
+
+
+
diff --git a/test/must-build/test_nesting_regression.rst b/test/rst_nesting_regression.md similarity index 96% rename from test/must-build/test_nesting_regression.rst rename to test/rst_nesting_regression.md index e4eb4d6..54d9cab 100644 --- a/test/must-build/test_nesting_regression.rst +++ b/test/rst_nesting_regression.md @@ -1,3 +1,4 @@ +```{eval-rst} Nested method Regression ======================== @@ -17,3 +18,4 @@ Test nested methods to ensure page generation doesn't hard fail. this creates the byline text and adds it to $this->output :see: $output $reates this +```