Skip to content

Commit 344baf2

Browse files
author
Hana Dusíková
committed
fix tests on macos 10.13, due the missing optional support
1 parent f78785c commit 344baf2

File tree

1 file changed

+15
-17
lines changed

1 file changed

+15
-17
lines changed

tests/matching.cpp

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
#include <ctre.hpp>
22
#include <string_view>
3-
#include <optional>
43

54
void empty_symbol() { }
65

@@ -16,19 +15,16 @@ template <typename Subject, typename Pattern> constexpr bool starts_with(Subject
1615
return ctre::regular_expression<Pattern>::starts_with(input);
1716
}
1817

19-
template <typename Subject, typename Pattern> constexpr std::optional<size_t> multiline_match(Subject input, Pattern) {
20-
auto result = ctre::regular_expression<Pattern>::multiline_match(input);
21-
return bool(result) ? std::optional<size_t>(result.size()) : std::nullopt;
18+
template <typename Subject, typename Pattern> constexpr auto multiline_match(Subject input, Pattern) {
19+
return ctre::regular_expression<Pattern>::multiline_match(input);
2220
}
2321

24-
template <typename Subject, typename Pattern> constexpr std::optional<size_t> multiline_search(Subject input, Pattern) {
25-
auto result = ctre::regular_expression<Pattern>::multiline_search(input);
26-
return bool(result) ? std::optional<size_t>(result.size()) : std::nullopt;
22+
template <typename Subject, typename Pattern> constexpr auto multiline_search(Subject input, Pattern) {
23+
return ctre::regular_expression<Pattern>::multiline_search(input);
2724
}
2825

29-
template <typename Subject, typename Pattern> constexpr std::optional<size_t> multiline_starts_with(Subject input, Pattern) {
30-
auto result = ctre::regular_expression<Pattern>::multiline_starts_with(input);
31-
return bool(result) ? std::optional<size_t>(result.size()) : std::nullopt;
26+
template <typename Subject, typename Pattern> constexpr auto multiline_starts_with(Subject input, Pattern) {
27+
return ctre::regular_expression<Pattern>::multiline_starts_with(input);
3228
}
3329

3430
using namespace std::string_view_literals;
@@ -182,11 +178,13 @@ static_assert(match("a ", ctre::sequence<ctre::character<'a'>, ctre::word_bounda
182178
static_assert(match("ab", ctre::sequence<ctre::character<'a'>, ctre::not_word_boundary, ctre::character<'b'>>() ));
183179

184180
// multiline
185-
static_assert(multiline_match("", ctre::assert_subject_begin()).value() == 0);
186-
static_assert(multiline_match("", ctre::assert_subject_end()).value() == 0);
187-
static_assert(multiline_match("", ctre::assert_line_begin()).value() == 0);
188-
static_assert(multiline_match("", ctre::assert_line_end()).value() == 0);
189-
static_assert(multiline_match("", ctre::assert_subject_end_line()).value() == 0);
181+
static_assert(multiline_match("", ctre::assert_subject_begin()));
182+
static_assert(multiline_match("", ctre::assert_subject_end()));
183+
static_assert(multiline_match("", ctre::assert_line_begin()));
184+
static_assert(multiline_match("", ctre::assert_line_end()));
185+
static_assert(multiline_match("", ctre::assert_subject_end_line()));
190186
static_assert(!multiline_match("\n", ctre::any()));
191-
static_assert(multiline_starts_with("aaa\nbbb", ctre::plus<ctre::any>()).value() == 3);
192-
static_assert(multiline_starts_with("aaa\nbbb", ctre::sequence<ctre::plus<ctre::any>,ctre::assert_line_end,ctre::character<'\n'>>()).value() == 4);
187+
static_assert(multiline_starts_with("aaa\nbbb", ctre::plus<ctre::any>()));
188+
static_assert(multiline_starts_with("aaa\nbbb", ctre::plus<ctre::any>()).size() == 3);
189+
static_assert(multiline_starts_with("aaa\nbbb", ctre::sequence<ctre::plus<ctre::any>,ctre::assert_line_end,ctre::character<'\n'>>()));
190+
static_assert(multiline_starts_with("aaa\nbbb", ctre::sequence<ctre::plus<ctre::any>,ctre::assert_line_end,ctre::character<'\n'>>()).size() == 4);

0 commit comments

Comments
 (0)