|
| 1 | +from typing import List |
| 2 | + |
1 | 3 | import py |
2 | 4 |
|
3 | 5 | import pytest |
|
6 | 8 |
|
7 | 9 |
|
8 | 10 | @pytest.mark.parametrize( |
9 | | - "baseid, nodeid, expected", |
| 11 | + ("nodeid", "expected"), |
10 | 12 | ( |
11 | | - ("", "", True), |
12 | | - ("", "foo", True), |
13 | | - ("", "foo/bar", True), |
14 | | - ("", "foo/bar::TestBaz", True), |
15 | | - ("foo", "food", False), |
16 | | - ("foo/bar::TestBaz", "foo/bar", False), |
17 | | - ("foo/bar::TestBaz", "foo/bar::TestBop", False), |
18 | | - ("foo/bar", "foo/bar::TestBop", True), |
| 13 | + ("", [""]), |
| 14 | + ("a", ["", "a"]), |
| 15 | + ("aa/b", ["", "aa", "aa/b"]), |
| 16 | + ("a/b/c", ["", "a", "a/b", "a/b/c"]), |
| 17 | + ("a/bbb/c::D", ["", "a", "a/bbb", "a/bbb/c", "a/bbb/c::D"]), |
| 18 | + ("a/b/c::D::eee", ["", "a", "a/b", "a/b/c", "a/b/c::D", "a/b/c::D::eee"]), |
| 19 | + # :: considered only at the last component. |
| 20 | + ("::xx", ["", "::xx"]), |
| 21 | + ("a/b/c::D/d::e", ["", "a", "a/b", "a/b/c::D", "a/b/c::D/d", "a/b/c::D/d::e"]), |
| 22 | + # : alone is not a separator. |
| 23 | + ("a/b::D:e:f::g", ["", "a", "a/b", "a/b::D:e:f", "a/b::D:e:f::g"]), |
19 | 24 | ), |
20 | 25 | ) |
21 | | -def test_ischildnode(baseid: str, nodeid: str, expected: bool) -> None: |
22 | | - result = nodes.ischildnode(baseid, nodeid) |
23 | | - assert result is expected |
| 26 | +def test_iterparentnodeids(nodeid: str, expected: List[str]) -> None: |
| 27 | + result = list(nodes.iterparentnodeids(nodeid)) |
| 28 | + assert result == expected |
24 | 29 |
|
25 | 30 |
|
26 | 31 | def test_node_from_parent_disallowed_arguments() -> None: |
|
0 commit comments