Added more tests to the basic parsing of C++ signatures

This commit is contained in:
Armin Ronacher
2011-09-23 00:51:43 +02:00
parent 2a021f1cf9
commit f6711a6209

View File

@@ -25,11 +25,8 @@ def test_type_definitions():
rv = parse('member_object', ' const std::string & name leftover')
assert unicode(rv) == 'const std::string& name'
x = 'void operator()(const boost::array<VertexID, 2>& v) const'
assert unicode(parse('function', x)) == x
x = 'void operator()(const boost::array<VertexID, 2, "foo, bar">& v) const'
assert unicode(parse('function', x)) == x
rv = parse('member_object', ' const std::string & name [n] leftover')
assert unicode(rv) == 'const std::string& name[n]'
rv = parse('member_object', 'const std::vector< unsigned int, long> &name')
assert unicode(rv) == 'const std::vector<unsigned int, long>& name'
@@ -51,6 +48,12 @@ def test_type_definitions():
assert unicode(parse('type_object', 'long long int foo')) == 'long long foo'
x = 'void operator()(const boost::array<VertexID, 2>& v) const'
assert unicode(parse('function', x)) == x
x = 'void operator()(const boost::array<VertexID, 2, "foo, bar">& v) const'
assert unicode(parse('function', x)) == x
x = 'MyClass::MyClass(MyClass::MyClass&&)'
assert unicode(parse('function', x)) == x
@@ -60,6 +63,16 @@ def test_type_definitions():
x = 'int get_value() const noexcept'
assert unicode(parse('function', x)) == x
x = 'int main(int argc, char* argv[][])'
assert unicode(parse('function', x)) == x
x = 'std::vector<std::pair<std::string, int>>& module::test(register ' \
'foo, bar[n], std::string baz="foobar, blah, bleh") const = 0'
assert unicode(parse('function', x)) == x
x = 'module::myclass foo[n]'
assert unicode(parse('member_object', x)) == x
def test_operators():
x = parse('function', 'void operator new [ ] ()')