From: David Malcolm Date: Tue, 7 Jun 2016 17:33:04 +0000 (+0000) Subject: spellcheck.c: add test_find_closest_string X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=484b59c4826e53507c91291042393160f26d8c71;p=gcc.git spellcheck.c: add test_find_closest_string gcc/ChangeLog: * spellcheck.c (selftest::test_find_closest_string): New function. (spellcheck_c_tests): Call the above. From-SVN: r237181 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index eeadbb2ca4b..d3c7b949314 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2016-06-07 David Malcolm + + * spellcheck.c (selftest::test_find_closest_string): New function. + (spellcheck_c_tests): Call the above. + 2016-06-07 Kyrylo Tkachov * simplify-rtx.c (simplify_cond_clz_ctz): Delete 'mode' local diff --git a/gcc/spellcheck.c b/gcc/spellcheck.c index ceb60168bf1..11018f0710e 100644 --- a/gcc/spellcheck.c +++ b/gcc/spellcheck.c @@ -198,6 +198,27 @@ levenshtein_distance_unit_test (const char *a, const char *b, levenshtein_distance_unit_test_oneway (b, a, expected); } +/* Verify that find_closest_string is sane. */ + +static void +test_find_closest_string () +{ + auto_vec candidates; + + /* Verify that it can handle an empty vec. */ + ASSERT_EQ (NULL, find_closest_string ("", &candidates)); + + /* Verify that it works sanely for non-empty vecs. */ + candidates.safe_push ("apple"); + candidates.safe_push ("banana"); + candidates.safe_push ("cherry"); + + ASSERT_STREQ ("apple", find_closest_string ("app", &candidates)); + ASSERT_STREQ ("banana", find_closest_string ("banyan", &candidates)); + ASSERT_STREQ ("cherry", find_closest_string ("berry", &candidates)); + ASSERT_EQ (NULL, find_closest_string ("not like the others", &candidates)); +} + /* Verify levenshtein_distance for a variety of pairs of pre-canned inputs, comparing against known-good values. */ @@ -218,6 +239,8 @@ spellcheck_c_tests () ("Lorem ipsum dolor sit amet, consectetur adipiscing elit,", "All your base are belong to us", 44); + + test_find_closest_string (); } } // namespace selftest