OLD | NEW |
| (Empty) |
1 // Copyright 2008 The RE2 Authors. All Rights Reserved. | |
2 // Use of this source code is governed by a BSD-style | |
3 // license that can be found in the LICENSE file. | |
4 | |
5 // Exhaustive testing of regular expression matching. | |
6 | |
7 #include "util/test.h" | |
8 #include "re2/testing/exhaustive_tester.h" | |
9 | |
10 namespace re2 { | |
11 | |
12 DECLARE_string(regexp_engines); | |
13 | |
14 // Test very simple expressions. | |
15 TEST(EgrepLiterals, Lowercase) { | |
16 EgrepTest(3, 2, "abc.", 3, "abc", ""); | |
17 } | |
18 | |
19 // Test mixed-case expressions. | |
20 TEST(EgrepLiterals, MixedCase) { | |
21 EgrepTest(3, 2, "AaBb.", 2, "AaBb", ""); | |
22 } | |
23 | |
24 // Test mixed-case in case-insensitive mode. | |
25 TEST(EgrepLiterals, FoldCase) { | |
26 // The punctuation characters surround A-Z and a-z | |
27 // in the ASCII table. This looks for bugs in the | |
28 // bytemap range code in the DFA. | |
29 EgrepTest(3, 2, "abAB.", 2, "aBc@_~", "(?i:%s)"); | |
30 } | |
31 | |
32 // Test very simple expressions. | |
33 TEST(EgrepLiterals, UTF8) { | |
34 EgrepTest(3, 2, "ab.", 4, "a\xE2\x98\xBA", ""); | |
35 } | |
36 | |
37 } // namespace re2 | |
38 | |
OLD | NEW |