mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2026-10-15 01:42:12 -05:00
Fix annotations of testing
This commit is contained in:
1 parent
e888e92ac4
commit
b76966815c
2 files changed
+31
-22
No files matched your search
+13
-4
@@ -65,10 +65,14 @@ def assert_node(node, cls=None, xpath="", **kwargs):
|
||||
if isinstance(cls[1], tuple):
|
||||
assert_node(node, cls[1], xpath=xpath, **kwargs)
|
||||
else:
|
||||
assert isinstance(node, nodes.Element), \
|
||||
'The node%s does not have any children' % xpath
|
||||
assert len(node) == 1, \
|
||||
'The node%s has %d child nodes, not one' % (xpath, len(node))
|
||||
assert_node(node[0], cls[1:], xpath=xpath + "[0]", **kwargs)
|
||||
elif isinstance(cls, tuple):
|
||||
assert isinstance(node, nodes.Element), \
|
||||
'The node%s does not have any items' % xpath
|
||||
assert len(node) == len(cls), \
|
||||
'The node%s has %d child nodes, not %r' % (xpath, len(node), len(cls))
|
||||
for i, nodecls in enumerate(cls):
|
||||
@@ -80,10 +84,15 @@ def assert_node(node, cls=None, xpath="", **kwargs):
|
||||
assert isinstance(node, cls), \
|
||||
'The node%s is not subclass of %r: %r' % (xpath, cls, node)
|
||||
|
||||
for key, value in kwargs.items():
|
||||
assert key in node, 'The node%s does not have %r attribute: %r' % (xpath, key, node)
|
||||
assert node[key] == value, \
|
||||
'The node%s[%s] is not %r: %r' % (xpath, key, value, node[key])
|
||||
if kwargs:
|
||||
assert isinstance(node, nodes.Element), \
|
||||
'The node%s does not have any attributes' % xpath
|
||||
|
||||
for key, value in kwargs.items():
|
||||
assert key in node, \
|
||||
'The node%s does not have %r attribute: %r' % (xpath, key, node)
|
||||
assert node[key] == value, \
|
||||
'The node%s[%s] is not %r: %r' % (xpath, key, value, node[key])
|
||||
|
||||
|
||||
def etree_parse(path):
|
||||
|
||||
+18
-18
@@ -20,62 +20,62 @@ def test_samp():
|
||||
# normal case
|
||||
text = 'print 1+{variable}'
|
||||
ret, msg = emph_literal_role('samp', text, text, 0, Mock())
|
||||
assert_node(ret, ([nodes.literal, ("print 1+",
|
||||
[nodes.emphasis, "variable"])],))
|
||||
assert_node(ret[0], [nodes.literal, ("print 1+",
|
||||
[nodes.emphasis, "variable"])])
|
||||
assert msg == []
|
||||
|
||||
# two emphasis items
|
||||
text = 'print {1}+{variable}'
|
||||
ret, msg = emph_literal_role('samp', text, text, 0, Mock())
|
||||
assert_node(ret, ([nodes.literal, ("print ",
|
||||
[nodes.emphasis, "1"],
|
||||
"+",
|
||||
[nodes.emphasis, "variable"])],))
|
||||
assert_node(ret[0], [nodes.literal, ("print ",
|
||||
[nodes.emphasis, "1"],
|
||||
"+",
|
||||
[nodes.emphasis, "variable"])])
|
||||
assert msg == []
|
||||
|
||||
# empty curly brace
|
||||
text = 'print 1+{}'
|
||||
ret, msg = emph_literal_role('samp', text, text, 0, Mock())
|
||||
assert_node(ret, ([nodes.literal, "print 1+{}"],))
|
||||
assert_node(ret[0], [nodes.literal, "print 1+{}"])
|
||||
assert msg == []
|
||||
|
||||
# half-opened variable
|
||||
text = 'print 1+{variable'
|
||||
ret, msg = emph_literal_role('samp', text, text, 0, Mock())
|
||||
assert_node(ret, ([nodes.literal, "print 1+{variable"],))
|
||||
assert_node(ret[0], [nodes.literal, "print 1+{variable"])
|
||||
assert msg == []
|
||||
|
||||
# nested
|
||||
text = 'print 1+{{variable}}'
|
||||
ret, msg = emph_literal_role('samp', text, text, 0, Mock())
|
||||
assert_node(ret, ([nodes.literal, ("print 1+",
|
||||
[nodes.emphasis, "{variable"],
|
||||
"}")],))
|
||||
assert_node(ret[0], [nodes.literal, ("print 1+",
|
||||
[nodes.emphasis, "{variable"],
|
||||
"}")])
|
||||
assert msg == []
|
||||
|
||||
# emphasized item only
|
||||
text = '{variable}'
|
||||
ret, msg = emph_literal_role('samp', text, text, 0, Mock())
|
||||
assert_node(ret, ([nodes.literal, nodes.emphasis, "variable"],))
|
||||
assert_node(ret[0], [nodes.literal, nodes.emphasis, "variable"])
|
||||
assert msg == []
|
||||
|
||||
# escaping
|
||||
text = r'print 1+\{variable}'
|
||||
ret, msg = emph_literal_role('samp', text, text, 0, Mock())
|
||||
assert_node(ret, ([nodes.literal, "print 1+{variable}"],))
|
||||
assert_node(ret[0], [nodes.literal, "print 1+{variable}"])
|
||||
assert msg == []
|
||||
|
||||
# escaping (2)
|
||||
text = r'print 1+\{{variable}\}'
|
||||
ret, msg = emph_literal_role('samp', text, text, 0, Mock())
|
||||
assert_node(ret, ([nodes.literal, ("print 1+{",
|
||||
[nodes.emphasis, "variable"],
|
||||
"}")],))
|
||||
assert_node(ret[0], [nodes.literal, ("print 1+{",
|
||||
[nodes.emphasis, "variable"],
|
||||
"}")])
|
||||
assert msg == []
|
||||
|
||||
# escape a backslash
|
||||
text = r'print 1+\\{variable}'
|
||||
ret, msg = emph_literal_role('samp', text, text, 0, Mock())
|
||||
assert_node(ret, ([nodes.literal, ("print 1+\\",
|
||||
[nodes.emphasis, "variable"])],))
|
||||
assert_node(ret[0], [nodes.literal, ("print 1+\\",
|
||||
[nodes.emphasis, "variable"])])
|
||||
assert msg == []
|
||||
Reference in new issue
Block a user