From 7068f3e77beaea64e6077a17cef1a607bf920165 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 4 Aug 2021 12:02:55 -0400 Subject: [PATCH] add a few more test cases for testing utils::split_words() --- unittest/utils/test_utils.cpp | 38 +++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/unittest/utils/test_utils.cpp b/unittest/utils/test_utils.cpp index 4ce4733a6a..08922e648f 100644 --- a/unittest/utils/test_utils.cpp +++ b/unittest/utils/test_utils.cpp @@ -120,6 +120,44 @@ TEST(Utils, split_words_simple) ASSERT_THAT(list[2], StrEq("three")); } +TEST(Utils, split_words_leading_whitespace) +{ + auto list = utils::split_words(" one two three"); + ASSERT_EQ(list.size(), 3); + ASSERT_THAT(list[0], StrEq("one")); + ASSERT_THAT(list[1], StrEq("two")); + ASSERT_THAT(list[2], StrEq("three")); +} + +TEST(Utils, split_words_trailing_whitespace) +{ + auto list = utils::split_words("one two three "); + ASSERT_EQ(list.size(), 3); + ASSERT_THAT(list[0], StrEq("one")); + ASSERT_THAT(list[1], StrEq("two")); + ASSERT_THAT(list[2], StrEq("three")); +} + +TEST(Utils, split_words_heredoc) +{ + auto list = utils::split_words("one two three \"\"\""); + ASSERT_EQ(list.size(), 4); + ASSERT_THAT(list[0], StrEq("one")); + ASSERT_THAT(list[1], StrEq("two")); + ASSERT_THAT(list[2], StrEq("three")); + ASSERT_THAT(list[3], StrEq("\"\"\"")); +} + +TEST(Utils, split_words_heredoc_whitespace) +{ + auto list = utils::split_words("one two three \"\"\" "); + ASSERT_EQ(list.size(), 4); + ASSERT_THAT(list[0], StrEq("one")); + ASSERT_THAT(list[1], StrEq("two")); + ASSERT_THAT(list[2], StrEq("three")); + ASSERT_THAT(list[3], StrEq("\"\"\"")); +} + TEST(Utils, split_words_quoted) { auto list = utils::split_words("one 'two' \"three\"");