Commits

Armin Ronacher  committed c9c1d0a

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

  • Participants
  • Parent commits 1762b4f

Comments (0)

Files changed (1)

File tests/test_cpp_domain.py

     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'
 
     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
 
     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 [  ] ()')