wsme/tests/test_sphinxext.py
Stephen Finucane 7092903ba1 Rework documentation build
Modern docs! This fixes a couple of issues introduced in the previous
patches and generally cleans up a lot of mess.

Change-Id: Ib964c16251bce12fe498b13455ed3515ef205916
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2019-11-18 13:58:59 -08:00

53 lines
1.5 KiB
Python

import unittest
from sphinx.cmd import build
import os.path
import wsme.types
from wsmeext import sphinxext
docpath = os.path.join(
os.path.dirname(__file__),
'sphinxexample')
class ASampleType(object):
somebytes = wsme.types.bytes
sometext = wsme.types.text
someint = int
class TestSphinxExt(unittest.TestCase):
def test_buildhtml(self):
if not os.path.exists('.test_sphinxext/'):
os.makedirs('.test_sphinxext/')
try:
build.main([
# '',
'-b', 'html',
'-d', '.test_sphinxext/doctree',
docpath,
'.test_sphinxext/html'
])
assert Exception("Should raise SystemExit 0")
except SystemExit as e:
print(e)
assert e.code == 0
class TestDataTypeName(unittest.TestCase):
def test_user_type(self):
self.assertEqual(sphinxext.datatypename(ASampleType),
'ASampleType')
def test_dict_type(self):
d = wsme.types.DictType(str, str)
self.assertEqual(sphinxext.datatypename(d), 'dict(str: str)')
d = wsme.types.DictType(str, ASampleType)
self.assertEqual(sphinxext.datatypename(d), 'dict(str: ASampleType)')
def test_array_type(self):
d = wsme.types.ArrayType(str)
self.assertEqual(sphinxext.datatypename(d), 'list(str)')
d = wsme.types.ArrayType(ASampleType)
self.assertEqual(sphinxext.datatypename(d), 'list(ASampleType)')