BOOST_CHECK_EQUAL(text, "test");
}
+BOOST_AUTO_TEST_CASE(shorten_stl_types_string)
+{
+ BOOST_CHECK_EQUAL(shorten_stl_types("std::basic_string<char, std::char_traits<char>, std::allocator<char> >"),
+ "std::string");
+}
+
+BOOST_AUTO_TEST_CASE(shorten_stl_types_simple)
+{
+ BOOST_CHECK_EQUAL(shorten_stl_types("std::list<some_type, std::allocator<some_type> >"),
+ "std::list<some_type, _alloc_>");
+}
+
+BOOST_AUTO_TEST_CASE(shorten_stl_types_multiple)
+{
+ BOOST_CHECK_EQUAL(shorten_stl_types("std::basic_string<char, std::char_traits<char>, std::allocator<char> > my_func(std::list<some_type, std::allocator<some_type> >, std::vector<int, std::allocator<int> >)"),
+ "std::string my_func(std::list<some_type, _alloc_>, std::vector<int, _alloc_>)");
+}
+
+BOOST_AUTO_TEST_CASE(shorten_stl_types_complex)
+{
+ BOOST_CHECK_EQUAL(shorten_stl_types("std::list<boost::shared_ptr<some_type>, std::allocator<boost::shared_ptr<some_type> > >"),
+ "std::list<boost::shared_ptr<some_type>, _alloc_>");
+}
+
+BOOST_AUTO_TEST_CASE(shorten_stl_types_nested)
+{
+ //"std::list<int, std::allocator<int> >"
+ //"std::list<std::list<int, std::allocator<int> >, std::allocator<std::list<int, std::allocator<int> > > >"
+ BOOST_CHECK_EQUAL(shorten_stl_types("std::list<std::list<int, std::allocator<int> >, std::allocator<std::list<int, std::allocator<int> > > >"),
+ "std::list<std::list<int, _alloc_>, _alloc_>");
+}
+
+BOOST_AUTO_TEST_CASE(shorten_stl_types_nothing)
+{
+ string text = "";
+ BOOST_CHECK_EQUAL(shorten_stl_types(text), text);
+ text = "int f(void)";
+ BOOST_CHECK_EQUAL(shorten_stl_types(text), text);
+ text = "std::cout << \"Test\" << std::endl;";
+ BOOST_CHECK_EQUAL(shorten_stl_types(text), text);
+ text = "bla<blubb>";
+ BOOST_CHECK_EQUAL(shorten_stl_types(text), text);
+ text = "std::list<> is a class template";
+ BOOST_CHECK_EQUAL(shorten_stl_types(text), text);
+ text = "std::list<int, std::allocator<int>\n>";
+ BOOST_CHECK_EQUAL(shorten_stl_types(text), text);
+}
+
BOOST_AUTO_TEST_SUITE_END()