summaryrefslogtreecommitdiffstats
path: root/libcxx/test/re/re.alg/re.alg.search/basic.pass.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libcxx/test/re/re.alg/re.alg.search/basic.pass.cpp')
-rw-r--r--libcxx/test/re/re.alg/re.alg.search/basic.pass.cpp62
1 files changed, 40 insertions, 22 deletions
diff --git a/libcxx/test/re/re.alg/re.alg.search/basic.pass.cpp b/libcxx/test/re/re.alg/re.alg.search/basic.pass.cpp
index 206ea3524d1..567301369bf 100644
--- a/libcxx/test/re/re.alg/re.alg.search/basic.pass.cpp
+++ b/libcxx/test/re/re.alg/re.alg.search/basic.pass.cpp
@@ -117,26 +117,44 @@ int main()
assert(m.position(0) == 0);
assert(m.str(0) == s);
}
-// {
-// std::cmatch m;
-// const char s[] = "abcdefghijk";
-// assert(std::regex_search(s, m, std::regex("cd\\(\\(e\\)fg\\)hi",
-// std::regex_constants::basic)));
-// assert(m.size() == 3);
-// assert(m.prefix().matched);
-// assert(m.prefix().first == s);
-// assert(m.prefix().second == m[0].first);
-// assert(m.suffix().matched);
-// assert(m.suffix().first == m[0].second);
-// assert(m.suffix().second == s+std::regex_traits<char>::length(s));
-// assert(m.length(0) == 7);
-// assert(m.position(0) == 2);
-// assert(m.str(0) == "cdefghi");
-// assert(m.length(1) == 3);
-// assert(m.position(1) == 4);
-// assert(m.str(1) == "efg");
-// assert(m.length(2) == 1);
-// assert(m.position(2) == 4);
-// assert(m.str(2) == "e");
-// }
+ {
+ std::cmatch m;
+ const char s[] = "ababc";
+ assert(std::regex_search(s, m, std::regex("\\(ab\\)*c", std::regex_constants::basic)));
+ assert(m.size() == 2);
+ assert(!m.prefix().matched);
+ assert(m.prefix().first == s);
+ assert(m.prefix().second == m[0].first);
+ assert(!m.suffix().matched);
+ assert(m.suffix().first == m[0].second);
+ assert(m.suffix().second == s+5);
+ assert(m.length(0) == 5);
+ assert(m.position(0) == 0);
+ assert(m.str(0) == s);
+ assert(m.length(1) == 2);
+ assert(m.position(1) == 2);
+ assert(m.str(1) == "ab");
+ }
+ {
+ std::cmatch m;
+ const char s[] = "abcdefghijk";
+ assert(std::regex_search(s, m, std::regex("cd\\(\\(e\\)fg\\)hi",
+ std::regex_constants::basic)));
+ assert(m.size() == 3);
+ assert(m.prefix().matched);
+ assert(m.prefix().first == s);
+ assert(m.prefix().second == m[0].first);
+ assert(m.suffix().matched);
+ assert(m.suffix().first == m[0].second);
+ assert(m.suffix().second == s+std::regex_traits<char>::length(s));
+ assert(m.length(0) == 7);
+ assert(m.position(0) == 2);
+ assert(m.str(0) == "cdefghi");
+ assert(m.length(1) == 3);
+ assert(m.position(1) == 4);
+ assert(m.str(1) == "efg");
+ assert(m.length(2) == 1);
+ assert(m.position(2) == 4);
+ assert(m.str(2) == "e");
+ }
}
OpenPOWER on IntegriCloud