From 1ecd3006725e0560fb166efa1a64c294ba070fca Mon Sep 17 00:00:00 2001 From: Christian Herdtweck Date: Tue, 24 Jan 2017 10:54:17 +0100 Subject: [PATCH] Create unit tests for new shorten_stl_types --- test/stringfunc.cpp | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 48 insertions(+), 0 deletions(-) diff --git a/test/stringfunc.cpp b/test/stringfunc.cpp index c5becbf..bf33781 100644 --- a/test/stringfunc.cpp +++ b/test/stringfunc.cpp @@ -801,4 +801,52 @@ BOOST_AUTO_TEST_CASE(remove_html_comments_test) BOOST_CHECK_EQUAL(text, "test"); } +BOOST_AUTO_TEST_CASE(shorten_stl_types_string) +{ + BOOST_CHECK_EQUAL(shorten_stl_types("std::basic_string, std::allocator >"), + "std::string"); +} + +BOOST_AUTO_TEST_CASE(shorten_stl_types_simple) +{ + BOOST_CHECK_EQUAL(shorten_stl_types("std::list >"), + "std::list"); +} + +BOOST_AUTO_TEST_CASE(shorten_stl_types_multiple) +{ + BOOST_CHECK_EQUAL(shorten_stl_types("std::basic_string, std::allocator > my_func(std::list >, std::vector >)"), + "std::string my_func(std::list, std::vector)"); +} + +BOOST_AUTO_TEST_CASE(shorten_stl_types_complex) +{ + BOOST_CHECK_EQUAL(shorten_stl_types("std::list, std::allocator > >"), + "std::list, _alloc_>"); +} + +BOOST_AUTO_TEST_CASE(shorten_stl_types_nested) +{ + //"std::list >" + //"std::list >, std::allocator > > >" + BOOST_CHECK_EQUAL(shorten_stl_types("std::list >, std::allocator > > >"), + "std::list, _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"; + 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\n>"; + BOOST_CHECK_EQUAL(shorten_stl_types(text), text); +} + BOOST_AUTO_TEST_SUITE_END() -- 1.7.1