| 196 | } |
| 197 | |
| 198 | TEST(TestCharClassBuilder, Adds) { |
| 199 | int nfail = 0; |
| 200 | for (size_t i = 0; i < arraysize(tests); i++) { |
| 201 | CharClassBuilder ccb; |
| 202 | CCTest* t = &tests[i]; |
| 203 | for (int j = 0; t->add[j].lo >= 0; j++) |
| 204 | ccb.AddRange(t->add[j].lo, t->add[j].hi); |
| 205 | if (t->remove >= 0) |
| 206 | ccb.RemoveAbove(t->remove); |
| 207 | if (!CorrectCC(&ccb, t, "before copy (CharClassBuilder)")) |
| 208 | nfail++; |
| 209 | CharClass* cc = ccb.GetCharClass(); |
| 210 | if (!CorrectCC(cc, t, "before copy (CharClass)")) |
| 211 | nfail++; |
| 212 | cc->Delete(); |
| 213 | |
| 214 | CharClassBuilder *ccb1 = ccb.Copy(); |
| 215 | if (!CorrectCC(ccb1, t, "after copy (CharClassBuilder)")) |
| 216 | nfail++; |
| 217 | cc = ccb.GetCharClass(); |
| 218 | if (!CorrectCC(cc, t, "after copy (CharClass)")) |
| 219 | nfail++; |
| 220 | cc->Delete(); |
| 221 | delete ccb1; |
| 222 | } |
| 223 | EXPECT_EQ(nfail, 0); |
| 224 | } |
| 225 | |
| 226 | } // namespace re2 |
nothing calls this directly
no test coverage detected