diff options
| author | Lexi Winter <ivy@FreeBSD.org> | 2025-06-16 16:52:11 +0100 |
|---|---|---|
| committer | Lexi Winter <ivy@FreeBSD.org> | 2025-06-16 16:52:11 +0100 |
| commit | 253c4648431d4333b29baaffb3419882bfbb31ff (patch) | |
| tree | 8973e230e6e2627dfded464e1dcade209136d814 /tests/words.cc | |
| parent | 8129d0ef4629f44cd89e3b79e8b66129bb9dc866 (diff) | |
| download | lfjail-253c4648431d4333b29baaffb3419882bfbb31ff.tar.gz lfjail-253c4648431d4333b29baaffb3419882bfbb31ff.tar.bz2 | |
updatesmain
Diffstat (limited to 'tests/words.cc')
| -rw-r--r-- | tests/words.cc | 36 |
1 files changed, 36 insertions, 0 deletions
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<std::vector>(); + + 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<std::vector>(); + + 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<std::vector>(); + + 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<std::vector>(); @@ -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); |
