From 253c4648431d4333b29baaffb3419882bfbb31ff Mon Sep 17 00:00:00 2001 From: Lexi Winter Date: Mon, 16 Jun 2025 16:52:11 +0100 Subject: updates --- tests/words.cc | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'tests') diff --git a/tests/words.cc b/tests/words.cc index ff1d854..bfe61b9 100644 --- a/tests/words.cc +++ b/tests/words.cc @@ -40,6 +40,39 @@ TEST_CASE(charsep) { ATF_REQUIRE_EQ("baz", vec[2]); } +TEST_CASE(as_view) { + auto vec = "foo bar baz"s + | words() + | std::ranges::to(); + + ATF_REQUIRE_EQ(vec.size(), 3); + ATF_REQUIRE_EQ("foo", vec[0]); + ATF_REQUIRE_EQ("bar", vec[1]); + ATF_REQUIRE_EQ("baz", vec[2]); +} + +TEST_CASE(as_view_char) { + auto vec = "foo*bar*baz"s + | words('*') + | std::ranges::to(); + + ATF_REQUIRE_EQ(vec.size(), 3); + ATF_REQUIRE_EQ("foo", vec[0]); + ATF_REQUIRE_EQ("bar", vec[1]); + ATF_REQUIRE_EQ("baz", vec[2]); +} + +TEST_CASE(as_view_pred) { + auto vec = "foo bar baz"s + | words(is_c_space) + | std::ranges::to(); + + ATF_REQUIRE_EQ(vec.size(), 3); + ATF_REQUIRE_EQ("foo", vec[0]); + ATF_REQUIRE_EQ("bar", vec[1]); + ATF_REQUIRE_EQ("baz", vec[2]); +} + TEST_CASE(empty) { auto vec = words(""s) | std::ranges::to(); @@ -107,6 +140,9 @@ TEST_CASE(trailing_whitespace) { ATF_INIT_TEST_CASES(tcs) { ATF_ADD_TEST_CASE(tcs, basic); ATF_ADD_TEST_CASE(tcs, charsep); + ATF_ADD_TEST_CASE(tcs, as_view); + ATF_ADD_TEST_CASE(tcs, as_view_pred); + ATF_ADD_TEST_CASE(tcs, as_view_char); ATF_ADD_TEST_CASE(tcs, empty); ATF_ADD_TEST_CASE(tcs, temporary); ATF_ADD_TEST_CASE(tcs, range_for); -- cgit v1.2.3