import unittest import sphinx 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/') assert sphinx.main(['', '-b', 'html', '-d', '.test_sphinxext/doctree', docpath, '.test_sphinxext/html']) == 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)')