| OLD | NEW |
| 1 // Copyright 2010 The RE2 Authors. All Rights Reserved. | 1 // Copyright 2010 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 #include <sys/types.h> | 5 #include <sys/types.h> |
| 6 #include <sys/stat.h> | 6 #include <sys/stat.h> |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "util/test.h" | 9 #include "util/test.h" |
| 10 #include "re2/re2.h" | 10 #include "re2/re2.h" |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 64 CHECK_EQ(v.size(), 1); | 64 CHECK_EQ(v.size(), 1); |
| 65 CHECK_EQ(v[0], 0); | 65 CHECK_EQ(v[0], 0); |
| 66 | 66 |
| 67 v.clear(); | 67 v.clear(); |
| 68 CHECK_EQ(s.Match("oobar", &v), false); | 68 CHECK_EQ(s.Match("oobar", &v), false); |
| 69 CHECK_EQ(v.size(), 0); | 69 CHECK_EQ(v.size(), 0); |
| 70 } | 70 } |
| 71 | 71 |
| 72 TEST(Set, UnanchoredDollar) { | 72 TEST(Set, UnanchoredDollar) { |
| 73 RE2::Set s(RE2::DefaultOptions, RE2::UNANCHORED); | 73 RE2::Set s(RE2::DefaultOptions, RE2::UNANCHORED); |
| 74 | 74 |
| 75 CHECK_EQ(s.Add("foo$", NULL), 0); | 75 CHECK_EQ(s.Add("foo$", NULL), 0); |
| 76 CHECK_EQ(s.Compile(), true); | 76 CHECK_EQ(s.Compile(), true); |
| 77 | 77 |
| 78 vector<int> v; | 78 vector<int> v; |
| 79 CHECK_EQ(s.Match("foo", &v), true); | 79 CHECK_EQ(s.Match("foo", &v), true); |
| 80 CHECK_EQ(v.size(), 1); | 80 CHECK_EQ(v.size(), 1); |
| 81 CHECK_EQ(v[0], 0); | 81 CHECK_EQ(v[0], 0); |
| 82 } | 82 } |
| 83 | 83 |
| 84 TEST(Set, Anchored) { | 84 TEST(Set, Anchored) { |
| 85 RE2::Set s(RE2::DefaultOptions, RE2::ANCHOR_BOTH); | 85 RE2::Set s(RE2::DefaultOptions, RE2::ANCHOR_BOTH); |
| 86 | 86 |
| 87 CHECK_EQ(s.Add("foo", NULL), 0); | 87 CHECK_EQ(s.Add("foo", NULL), 0); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 100 CHECK_EQ(s.Match("oobar", &v), false); | 100 CHECK_EQ(s.Match("oobar", &v), false); |
| 101 CHECK_EQ(v.size(), 0); | 101 CHECK_EQ(v.size(), 0); |
| 102 | 102 |
| 103 CHECK_EQ(s.Match("foo", &v), true); | 103 CHECK_EQ(s.Match("foo", &v), true); |
| 104 CHECK_EQ(v.size(), 1); | 104 CHECK_EQ(v.size(), 1); |
| 105 CHECK_EQ(v[0], 0); | 105 CHECK_EQ(v[0], 0); |
| 106 | 106 |
| 107 CHECK_EQ(s.Match("bar", &v), true); | 107 CHECK_EQ(s.Match("bar", &v), true); |
| 108 CHECK_EQ(v.size(), 1); | 108 CHECK_EQ(v.size(), 1); |
| 109 CHECK_EQ(v[0], 1); | 109 CHECK_EQ(v[0], 1); |
| 110 } |
| 110 | 111 |
| 112 TEST(Set, EmptyUnanchored) { |
| 113 RE2::Set s(RE2::DefaultOptions, RE2::UNANCHORED); |
| 114 |
| 115 CHECK_EQ(s.Compile(), true); |
| 116 |
| 117 vector<int> v; |
| 118 CHECK_EQ(s.Match("", &v), false); |
| 119 CHECK_EQ(v.size(), 0); |
| 120 |
| 121 v.clear(); |
| 122 CHECK_EQ(s.Match("foobar", &v), false); |
| 123 CHECK_EQ(v.size(), 0); |
| 124 } |
| 125 |
| 126 TEST(Set, EmptyAnchored) { |
| 127 RE2::Set s(RE2::DefaultOptions, RE2::ANCHOR_BOTH); |
| 128 |
| 129 CHECK_EQ(s.Compile(), true); |
| 130 |
| 131 vector<int> v; |
| 132 CHECK_EQ(s.Match("", &v), false); |
| 133 CHECK_EQ(v.size(), 0); |
| 134 |
| 135 v.clear(); |
| 136 CHECK_EQ(s.Match("foobar", &v), false); |
| 137 CHECK_EQ(v.size(), 0); |
| 111 } | 138 } |
| 112 | 139 |
| 113 } // namespace re2 | 140 } // namespace re2 |
| 114 | |
| OLD | NEW |