xref: /aosp_15_r20/external/cronet/third_party/re2/src/testinstall.cc (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Worker // Copyright 2008 The RE2 Authors.  All Rights Reserved.
2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style
3*6777b538SAndroid Build Coastguard Worker // license that can be found in the LICENSE file.
4*6777b538SAndroid Build Coastguard Worker 
5*6777b538SAndroid Build Coastguard Worker #include <stdio.h>
6*6777b538SAndroid Build Coastguard Worker #include <re2/filtered_re2.h>
7*6777b538SAndroid Build Coastguard Worker #include <re2/re2.h>
8*6777b538SAndroid Build Coastguard Worker 
main()9*6777b538SAndroid Build Coastguard Worker int main() {
10*6777b538SAndroid Build Coastguard Worker   re2::FilteredRE2 f;
11*6777b538SAndroid Build Coastguard Worker   int id;
12*6777b538SAndroid Build Coastguard Worker   f.Add("a.*b.*c", RE2::DefaultOptions, &id);
13*6777b538SAndroid Build Coastguard Worker   std::vector<std::string> v;
14*6777b538SAndroid Build Coastguard Worker   f.Compile(&v);
15*6777b538SAndroid Build Coastguard Worker   std::vector<int> ids;
16*6777b538SAndroid Build Coastguard Worker   f.FirstMatch("abbccc", ids);
17*6777b538SAndroid Build Coastguard Worker 
18*6777b538SAndroid Build Coastguard Worker   int n;
19*6777b538SAndroid Build Coastguard Worker   if (RE2::FullMatch("axbyc", "a.*b.*c") &&
20*6777b538SAndroid Build Coastguard Worker       RE2::PartialMatch("foo123bar", "(\\d+)", &n) && n == 123) {
21*6777b538SAndroid Build Coastguard Worker     printf("PASS\n");
22*6777b538SAndroid Build Coastguard Worker     return 0;
23*6777b538SAndroid Build Coastguard Worker   }
24*6777b538SAndroid Build Coastguard Worker 
25*6777b538SAndroid Build Coastguard Worker   printf("FAIL\n");
26*6777b538SAndroid Build Coastguard Worker   return 2;
27*6777b538SAndroid Build Coastguard Worker }
28