From fd143aa53d4f14b6e574d9c23c7d714153ee024a Mon Sep 17 00:00:00 2001 From: "Ignacio R. Morelle" Date: Wed, 4 Jun 2014 14:13:21 -0400 Subject: [PATCH] Add test cases for utils::wildcard_string_match() --- src/tests/test_serialization.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/tests/test_serialization.cpp b/src/tests/test_serialization.cpp index 4d7d76e676de..b5864dd301ec 100644 --- a/src/tests/test_serialization.cpp +++ b/src/tests/test_serialization.cpp @@ -43,3 +43,28 @@ BOOST_AUTO_TEST_CASE( utils_join_test ) BOOST_CHECK( utils::u8truncate(unicode,3) == "\xC3\xBCni"); // "üni" } +BOOST_AUTO_TEST_CASE( test_wildcard_string_match ) +{ + const std::string str = "foo bar baz"; + + BOOST_CHECK(utils::wildcard_string_match(str, "*bar*")); + + BOOST_CHECK(!utils::wildcard_string_match(str, "*BAR*")); + BOOST_CHECK(!utils::wildcard_string_match(str, "bar")); + + BOOST_CHECK(utils::wildcard_string_match(str, "*ba? b*")); + BOOST_CHECK(utils::wildcard_string_match(str, "*?a?*")); + + BOOST_CHECK(!utils::wildcard_string_match(str, "foo? ")); + BOOST_CHECK(!utils::wildcard_string_match(str, "?foo")); + + std::string superfluous_mask; + + superfluous_mask = std::string(str.length(), '?'); + BOOST_CHECK(utils::wildcard_string_match(str, superfluous_mask)); + BOOST_CHECK(utils::wildcard_string_match(str, superfluous_mask + '?')); + + superfluous_mask = std::string(str.length(), '*'); + BOOST_CHECK(utils::wildcard_string_match(str, superfluous_mask)); + BOOST_CHECK(utils::wildcard_string_match(str, superfluous_mask + '*')); +}