123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- import os.path
- import posixpath
- import tempfile
- import unittest
- import sphinx_multiversion
- class VersionInfoTestCase(unittest.TestCase):
- def setUp(self):
- root = tempfile.gettempdir()
- self.versioninfo = sphinx_multiversion.sphinx.VersionInfo(
- app=None,
- context={"pagename": "testpage"},
- metadata={
- "master": {
- "name": "master",
- "version": "",
- "release": "0.2",
- "is_released": False,
- "source": "heads",
- "creatordate": "2020-08-07 07:45:20 -0700",
- "basedir": os.path.join(root, "master"),
- "sourcedir": os.path.join(root, "master", "docs"),
- "outputdir": os.path.join(root, "build", "html", "master"),
- "confdir": os.path.join(root, "master", "docs"),
- "docnames": ["testpage", "appendix/faq"],
- },
- "v0.1.0": {
- "name": "v0.1.0",
- "version": "",
- "release": "0.1.0",
- "is_released": True,
- "source": "tags",
- "creatordate": "2020-07-16 08:45:20 -0100",
- "basedir": os.path.join(root, "v0.1.0"),
- "sourcedir": os.path.join(root, "v0.1.0", "docs"),
- "outputdir": os.path.join(root, "build", "html", "v0.1.0"),
- "confdir": os.path.join(root, "v0.1.0", "docs"),
- "docnames": ["old_testpage", "appendix/faq"],
- },
- "branch-with/slash": {
- "name": "branch-with/slash",
- "version": "",
- "release": "0.1.1",
- "is_released": False,
- "source": "heads",
- "creatordate": "2020-08-06 11:53:06 -0400",
- "basedir": os.path.join(root, "branch-with/slash"),
- "sourcedir": os.path.join(
- root, "branch-with/slash", "docs"
- ),
- "outputdir": os.path.join(
- root, "build", "html", "branch-with/slash"
- ),
- "confdir": os.path.join(root, "branch-with/slash", "docs"),
- "docnames": ["testpage"],
- },
- },
- current_version_name="master",
- )
- def test_tags_property(self):
- versions = self.versioninfo.tags
- self.assertEqual([version.name for version in versions], ["v0.1.0"])
- def test_branches_property(self):
- versions = self.versioninfo.branches
- self.assertEqual(
- [version.name for version in versions],
- ["master", "branch-with/slash"],
- )
- def test_releases_property(self):
- versions = self.versioninfo.releases
- self.assertEqual([version.name for version in versions], ["v0.1.0"])
- def test_in_development_property(self):
- versions = self.versioninfo.in_development
- self.assertEqual(
- [version.name for version in versions],
- ["master", "branch-with/slash"],
- )
- def test_vhasdoc(self):
- self.assertTrue(self.versioninfo.vhasdoc("master"))
- self.assertFalse(self.versioninfo.vhasdoc("v0.1.0"))
- self.assertTrue(self.versioninfo.vhasdoc("branch-with/slash"))
- self.versioninfo.context["pagename"] = "appendix/faq"
- self.assertTrue(self.versioninfo.vhasdoc("master"))
- self.assertTrue(self.versioninfo.vhasdoc("v0.1.0"))
- self.assertFalse(self.versioninfo.vhasdoc("branch-with/slash"))
- def test_vpathto(self):
- self.assertEqual(self.versioninfo.vpathto("master"), "testpage.html")
- self.assertEqual(
- self.versioninfo.vpathto("v0.1.0"),
- posixpath.join("..", "v0.1.0", "index.html"),
- )
- self.assertEqual(
- self.versioninfo.vpathto("branch-with/slash"),
- posixpath.join("..", "branch-with/slash", "testpage.html"),
- )
- self.versioninfo.context["pagename"] = "appendix/faq"
- self.assertEqual(self.versioninfo.vpathto("master"), "faq.html")
- self.assertEqual(
- self.versioninfo.vpathto("v0.1.0"),
- posixpath.join("..", "..", "v0.1.0", "appendix", "faq.html"),
- )
- self.assertEqual(
- self.versioninfo.vpathto("branch-with/slash"),
- posixpath.join("..", "..", "branch-with/slash", "index.html"),
- )
|