From b432923e29dcd8c6f3a528bb9d61952de68e790c Mon Sep 17 00:00:00 2001 From: Bartosz Golaszewski Date: Tue, 25 Aug 2015 13:09:59 +0200 Subject: [PATCH] libbb: add unit tests for is_prefixed_with() Test corner cases too like looking for an empty prefix etc. Signed-off-by: Bartosz Golaszewski Signed-off-by: Denys Vlasenko --- libbb/compare_string_array.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/libbb/compare_string_array.c b/libbb/compare_string_array.c index e24815a03..450916c3a 100644 --- a/libbb/compare_string_array.c +++ b/libbb/compare_string_array.c @@ -110,3 +110,22 @@ smallint FAST_FUNC yesno(const char *str) return ret / 3; } #endif + +#if ENABLE_UNIT_TEST + +BBUNIT_DEFINE_TEST(is_prefixed_with) +{ + BBUNIT_ASSERT_STREQ(" bar", is_prefixed_with("foo bar", "foo")); + BBUNIT_ASSERT_STREQ("bar", is_prefixed_with("foo bar", "foo ")); + BBUNIT_ASSERT_STREQ("", is_prefixed_with("foo", "foo")); + BBUNIT_ASSERT_STREQ("foo", is_prefixed_with("foo", "")); + BBUNIT_ASSERT_STREQ("", is_prefixed_with("", "")); + + BBUNIT_ASSERT_NULL(is_prefixed_with("foo", "bar foo")); + BBUNIT_ASSERT_NULL(is_prefixed_with("foo foo", "bar")); + BBUNIT_ASSERT_NULL(is_prefixed_with("", "foo")); + + BBUNIT_ENDTEST; +} + +#endif /* ENABLE_UNIT_TEST */ -- 2.25.1