diff options
Diffstat (limited to 'libcxx/test/std/re/re.alg/re.alg.match/basic.pass.cpp')
-rw-r--r-- | libcxx/test/std/re/re.alg/re.alg.match/basic.pass.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/libcxx/test/std/re/re.alg/re.alg.match/basic.pass.cpp b/libcxx/test/std/re/re.alg/re.alg.match/basic.pass.cpp index b2fa6e94135..fd5e7e640a7 100644 --- a/libcxx/test/std/re/re.alg/re.alg.match/basic.pass.cpp +++ b/libcxx/test/std/re/re.alg/re.alg.match/basic.pass.cpp @@ -1367,6 +1367,30 @@ int main(int, char**) assert(m.position(0) == 0); assert(m.str(0) == s); } + { // LWG 2273 + std::regex re("Foo|FooBar"); + std::cmatch m; + { + assert(std::regex_match("FooBar", m, re)); + assert(m.size() == 1); + assert(m[0] == "FooBar"); + } + { + assert(std::regex_match("Foo", m, re)); + assert(m.size() == 1); + assert(m[0] == "Foo"); + } + { + assert(!std::regex_match("FooBarBaz", m, re)); + assert(m.size() == 0); + assert(m.empty()); + } + { + assert(!std::regex_match("FooBa", m, re)); + assert(m.size() == 0); + assert(m.empty()); + } + } return 0; } |