| OLD | NEW |
| 1 // Copyright 2007 The RE2 Authors. All Rights Reserved. | 1 // Copyright 2007 The RE2 Authors. All Rights Reserved. |
| 2 // Use of this source code is governed by a BSD-style | 2 // Use of this source code is governed by a BSD-style |
| 3 // license that can be found in the LICENSE file. | 3 // license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 // Test prog.cc, compile.cc | 5 // Test prog.cc, compile.cc |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 #include <vector> | 8 #include <vector> |
| 9 #include "util/test.h" | 9 #include "util/test.h" |
| 10 #include "re2/regexp.h" | 10 #include "re2/regexp.h" |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 92 { "[^ab]", | 92 { "[^ab]", |
| 93 "5. alt -> 3 | 4\n" | 93 "5. alt -> 3 | 4\n" |
| 94 "3. alt -> 1 | 2\n" | 94 "3. alt -> 1 | 2\n" |
| 95 "4. byte [63-ff] -> 6\n" | 95 "4. byte [63-ff] -> 6\n" |
| 96 "1. byte [00-09] -> 6\n" | 96 "1. byte [00-09] -> 6\n" |
| 97 "2. byte [0b-60] -> 6\n" | 97 "2. byte [0b-60] -> 6\n" |
| 98 "6. match! 0\n" }, | 98 "6. match! 0\n" }, |
| 99 { "[Aa]", | 99 { "[Aa]", |
| 100 "1. byte/i [61-61] -> 2\n" | 100 "1. byte/i [61-61] -> 2\n" |
| 101 "2. match! 0\n" }, | 101 "2. match! 0\n" }, |
| 102 // Issue 20992936 |
| 103 { "[[-`]", |
| 104 "1. byte [5b-60] -> 2\n" |
| 105 "2. match! 0\n" }, |
| 102 }; | 106 }; |
| 103 | 107 |
| 104 TEST(TestRegexpCompileToProg, Simple) { | 108 TEST(TestRegexpCompileToProg, Simple) { |
| 105 int failed = 0; | 109 int failed = 0; |
| 106 for (int i = 0; i < arraysize(tests); i++) { | 110 for (int i = 0; i < arraysize(tests); i++) { |
| 107 const re2::Test& t = tests[i]; | 111 const re2::Test& t = tests[i]; |
| 108 Regexp* re = Regexp::Parse(t.regexp, Regexp::PerlX|Regexp::Latin1, NULL); | 112 Regexp* re = Regexp::Parse(t.regexp, Regexp::PerlX|Regexp::Latin1, NULL); |
| 109 if (re == NULL) { | 113 if (re == NULL) { |
| 110 LOG(ERROR) << "Cannot parse: " << t.regexp; | 114 LOG(ERROR) << "Cannot parse: " << t.regexp; |
| 111 failed++; | 115 failed++; |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 162 EXPECT_TRUE(prog != NULL); | 166 EXPECT_TRUE(prog != NULL); |
| 163 EXPECT_EQ(prog->bytemap_range(), arraysize(utf8ranges)); | 167 EXPECT_EQ(prog->bytemap_range(), arraysize(utf8ranges)); |
| 164 for (int i = 0; i < arraysize(utf8ranges); i++) | 168 for (int i = 0; i < arraysize(utf8ranges); i++) |
| 165 for (int j = utf8ranges[i].lo; j <= utf8ranges[i].hi; j++) | 169 for (int j = utf8ranges[i].lo; j <= utf8ranges[i].hi; j++) |
| 166 EXPECT_EQ(prog->bytemap()[j], i) << " byte " << j; | 170 EXPECT_EQ(prog->bytemap()[j], i) << " byte " << j; |
| 167 delete prog; | 171 delete prog; |
| 168 re->Decref(); | 172 re->Decref(); |
| 169 } | 173 } |
| 170 | 174 |
| 171 } // namespace re2 | 175 } // namespace re2 |
| OLD | NEW |