Commits

Armin Ronacher committed c9c1d0a

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

Comments (0)

Files changed (1)

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 [  ] ()')
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.