diff options
| author | Jakob Lykke Andersen <Jakob@caput.dk> | 2016-05-28 22:00:13 +0900 |
|---|---|---|
| committer | Jakob Lykke Andersen <Jakob@caput.dk> | 2016-05-30 23:18:10 +0900 |
| commit | 8a64cfdd91f261925556649c779bea3d2fcfa658 (patch) | |
| tree | c85645e06efa8073f18f8fb8d7481a9252708741 /tests/test_domain_cpp.py | |
| parent | 74191207db56d07f866de612995c798172f5e302 (diff) | |
| download | sphinx-git-8a64cfdd91f261925556649c779bea3d2fcfa658.tar.gz | |
C++, add support for template introductions.
Thanks to mickk-on-cpp.
Diffstat (limited to 'tests/test_domain_cpp.py')
| -rw-r--r-- | tests/test_domain_cpp.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/test_domain_cpp.py b/tests/test_domain_cpp.py index 16db7cdb8..721d63f9a 100644 --- a/tests/test_domain_cpp.py +++ b/tests/test_domain_cpp.py @@ -410,6 +410,36 @@ def test_templates(): None, "I00ElsRNSt13basic_ostreamI4Char6TraitsEE" "RK18c_string_view_baseIK4Char6TraitsE") + # template introductions + raises(DefinitionError, parse, 'enum', 'abc::ns::foo{id_0, id_1, id_2} A') + raises(DefinitionError, parse, 'enumerator', 'abc::ns::foo{id_0, id_1, id_2} A') + check('class', 'abc::ns::foo{id_0, id_1, id_2} xyz::bar', + None, 'I000EMissingRequiresManglingN3xyz3barE') + check('class', 'abc::ns::foo{id_0, id_1, ...id_2} xyz::bar', + None, 'I00DpEMissingRequiresManglingN3xyz3barE') + check('class', 'abc::ns::foo{id_0, id_1, id_2} xyz::bar<id_0, id_1, id_2>', + None, 'I000EMissingRequiresManglingN3xyz3barI4id_04id_14id_2EE') + check('class', 'abc::ns::foo{id_0, id_1, ...id_2} xyz::bar<id_0, id_1, id_2...>', + None, 'I00DpEMissingRequiresManglingN3xyz3barI4id_04id_1Dp4id_2EE') + + check('class', 'template<> Concept{U} A<int>::B', + None, 'IEI0EMissingRequiresManglingN1AIiE1BE') + + check('type', 'abc::ns::foo{id_0, id_1, id_2} xyz::bar = ghi::qux', + None, 'I000EMissingRequiresManglingN3xyz3barE') + check('type', 'abc::ns::foo{id_0, id_1, ...id_2} xyz::bar = ghi::qux', + None, 'I00DpEMissingRequiresManglingN3xyz3barE') + check('function', 'abc::ns::foo{id_0, id_1, id_2} void xyz::bar()', + None, 'I000EMissingRequiresManglingN3xyz3barEv') + check('function', 'abc::ns::foo{id_0, id_1, ...id_2} void xyz::bar()', + None, 'I00DpEMissingRequiresManglingN3xyz3barEv') + check('member', 'abc::ns::foo{id_0, id_1, id_2} ghi::qux xyz::bar', + None, 'I000EMissingRequiresManglingN3xyz3barE') + check('member', 'abc::ns::foo{id_0, id_1, ...id_2} ghi::qux xyz::bar', + None, 'I00DpEMissingRequiresManglingN3xyz3barE') + check('concept', 'Iterator{T, U} Another', + None, 'I00EMissingRequiresMangling7Another') + #def test_print(): # # used for getting all the ids out for checking |
