-
Notifications
You must be signed in to change notification settings - Fork 2.3k
/
test_libdoc_api.py
52 lines (40 loc) · 1.5 KB
/
test_libdoc_api.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
from io import StringIO
import sys
import tempfile
import unittest
from robot import libdoc
from robot.utils.asserts import assert_equal
class TestLibdoc(unittest.TestCase):
def setUp(self):
sys.stdout = StringIO()
def tearDown(self):
sys.stdout = sys.__stdout__
def test_html(self):
output = tempfile.mkstemp(suffix='.html')[1]
libdoc.libdoc('String', output)
assert_equal(sys.stdout.getvalue().strip(), output)
with open(output) as f:
assert '"name": "String"' in f.read()
def test_xml(self):
output = tempfile.mkstemp(suffix='.xml')[1]
libdoc.libdoc('String', output)
assert_equal(sys.stdout.getvalue().strip(), output)
with open(output) as f:
assert 'name="String"' in f.read()
def test_format(self):
output = tempfile.mkstemp()[1]
libdoc.libdoc('String', output, format='xml')
assert_equal(sys.stdout.getvalue().strip(), output)
with open(output) as f:
assert 'name="String"' in f.read()
def test_quiet(self):
output = tempfile.mkstemp(suffix='.html')[1]
libdoc.libdoc('String', output, quiet=True)
assert_equal(sys.stdout.getvalue().strip(), '')
with open(output) as f:
assert '"name": "String"' in f.read()
def test_LibraryDocumentation(self):
doc = libdoc.LibraryDocumentation('OperatingSystem')
assert_equal(doc.name, 'OperatingSystem')
if __name__ == '__main__':
unittest.main()