// Copyright 2008 The RE2 Authors. All Rights Reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // Exhaustive testing of regular expression matching. #include "util/test.h" #include "re2/testing/exhaustive_tester.h" namespace re2 { DECLARE_string(regexp_engines); // Test very simple expressions. TEST(EgrepLiterals, Lowercase) { EgrepTest(3, 2, "abc.", 3, "abc", ""); } // Test mixed-case expressions. TEST(EgrepLiterals, MixedCase) { EgrepTest(3, 2, "AaBb.", 2, "AaBb", ""); } // Test mixed-case in case-insensitive mode. TEST(EgrepLiterals, FoldCase) { // The punctuation characters surround A-Z and a-z // in the ASCII table. This looks for bugs in the // bytemap range code in the DFA. EgrepTest(3, 2, "abAB.", 2, "aBc@_~", "(?i:%s)"); } // Test very simple expressions. TEST(EgrepLiterals, UTF8) { EgrepTest(3, 2, "ab.", 4, "a\xE2\x98\xBA", ""); } } // namespace re2