Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(10395)

Unified Diff: chrome/common/extensions/matcher/substring_set_matcher_unittest.cc

Issue 12092096: Move c/c/extensions/matcher/ to top level extension dir (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: TOT Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/common/extensions/matcher/substring_set_matcher_unittest.cc
diff --git a/chrome/common/extensions/matcher/substring_set_matcher_unittest.cc b/chrome/common/extensions/matcher/substring_set_matcher_unittest.cc
deleted file mode 100644
index 6ea27e7efd71b8670798e05f5de5570f98476431..0000000000000000000000000000000000000000
--- a/chrome/common/extensions/matcher/substring_set_matcher_unittest.cc
+++ /dev/null
@@ -1,167 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/common/extensions/matcher/substring_set_matcher.h"
-
-#include <set>
-#include <string>
-#include <vector>
-
-#include "testing/gtest/include/gtest/gtest.h"
-
-using extensions::StringPattern;
-using extensions::SubstringSetMatcher;
-
-namespace {
-void TestOnePattern(const std::string& test_string,
- const std::string& pattern,
- bool is_match) {
- std::string test =
- "TestOnePattern(" + test_string + ", " + pattern + ", " +
- (is_match ? "1" : "0") + ")";
- std::vector<const StringPattern*> patterns;
- StringPattern substring_pattern(pattern, 1);
- patterns.push_back(&substring_pattern);
- SubstringSetMatcher matcher;
- matcher.RegisterPatterns(patterns);
- std::set<int> matches;
- matcher.Match(test_string, &matches);
-
- size_t expected_matches = (is_match ? 1 : 0);
- EXPECT_EQ(expected_matches, matches.size()) << test;
- EXPECT_EQ(is_match, matches.find(1) != matches.end()) << test;
-}
-
-void TestTwoPatterns(const std::string& test_string,
- const std::string& pattern_1,
- const std::string& pattern_2,
- bool is_match_1,
- bool is_match_2) {
- std::string test =
- "TestTwoPatterns(" + test_string + ", " + pattern_1 + ", " + pattern_2 +
- ", " + (is_match_1 ? "1" : "0") + ", " + (is_match_2 ? "1" : "0") + ")";
- StringPattern substring_pattern_1(pattern_1, 1);
- StringPattern substring_pattern_2(pattern_2, 2);
- // In order to make sure that the order in which patterns are registered
- // does not make any difference we try both permutations.
- for (int permutation = 0; permutation < 2; ++permutation) {
- std::vector<const StringPattern*> patterns;
- if (permutation == 0) {
- patterns.push_back(&substring_pattern_1);
- patterns.push_back(&substring_pattern_2);
- } else {
- patterns.push_back(&substring_pattern_2);
- patterns.push_back(&substring_pattern_1);
- }
- SubstringSetMatcher matcher;
- matcher.RegisterPatterns(patterns);
- std::set<int> matches;
- matcher.Match(test_string, &matches);
-
- size_t expected_matches = (is_match_1 ? 1 : 0) + (is_match_2 ? 1 : 0);
- EXPECT_EQ(expected_matches, matches.size()) << test;
- EXPECT_EQ(is_match_1, matches.find(1) != matches.end()) << test;
- EXPECT_EQ(is_match_2, matches.find(2) != matches.end()) << test;
- }
-}
-}
-
-TEST(SubstringSetMatcherTest, TestMatcher) {
- // Test overlapping patterns
- // String abcde
- // Pattern 1 bc
- // Pattern 2 cd
- TestTwoPatterns("abcde", "bc", "cd", true, true);
-
- // Test subpatterns - part 1
- // String abcde
- // Pattern 1 bc
- // Pattern 2 b
- TestTwoPatterns("abcde", "bc", "b", true, true);
-
- // Test subpatterns - part 2
- // String abcde
- // Pattern 1 bc
- // Pattern 2 c
- TestTwoPatterns("abcde", "bc", "c", true, true);
-
- // Test identical matches
- // String abcde
- // Pattern 1 abcde
- TestOnePattern("abcde", "abcde", true);
-
- // Test multiple matches
- // String aaaaa
- // Pattern 1 a
- TestOnePattern("abcde", "a", true);
-
- // Test matches at beginning and end
- // String abcde
- // Pattern 1 ab
- // Pattern 2 de
- TestTwoPatterns("abcde", "ab", "de", true, true);
-
- // Test duplicate patterns with different IDs
- // String abcde
- // Pattern 1 bc
- // Pattern 2 bc
- TestTwoPatterns("abcde", "bc", "bc", true, true);
-
- // Test non-match
- // String abcde
- // Pattern 1 fg
- TestOnePattern("abcde", "fg", false);
-
- // Test empty pattern and too long pattern
- // String abcde
- // Pattern 1
- // Pattern 2 abcdef
- TestTwoPatterns("abcde", "", "abcdef", true, false);
-}
-
-TEST(SubstringSetMatcherTest, RegisterAndRemove) {
- SubstringSetMatcher matcher;
-
- StringPattern pattern_1("a", 1);
- StringPattern pattern_2("b", 2);
- StringPattern pattern_3("c", 3);
-
- std::vector<const StringPattern*> patterns;
- patterns.push_back(&pattern_1);
- matcher.RegisterPatterns(patterns);
-
- patterns.clear();
- patterns.push_back(&pattern_2);
- patterns.push_back(&pattern_3);
- matcher.RegisterPatterns(patterns);
-
- std::set<int> matches;
- matcher.Match("abd", &matches);
- EXPECT_EQ(2u, matches.size());
- EXPECT_TRUE(matches.end() != matches.find(1));
- EXPECT_TRUE(matches.end() != matches.find(2));
-
- patterns.clear();
- patterns.push_back(&pattern_2);
- matcher.UnregisterPatterns(patterns);
-
- matches.clear();
- matcher.Match("abd", &matches);
- EXPECT_EQ(1u, matches.size());
- EXPECT_TRUE(matches.end() != matches.find(1));
- EXPECT_TRUE(matches.end() == matches.find(2));
-
- patterns.clear();
- patterns.push_back(&pattern_1);
- patterns.push_back(&pattern_3);
- matcher.UnregisterPatterns(patterns);
- EXPECT_TRUE(matcher.IsEmpty());
-}
-
-TEST(SubstringSetMatcherTest, TestEmptyMatcher) {
- SubstringSetMatcher matcher;
- std::set<int> matches;
- matcher.Match("abd", &matches);
- EXPECT_TRUE(matches.empty());
-}
« no previous file with comments | « chrome/common/extensions/matcher/substring_set_matcher.cc ('k') | chrome/common/extensions/matcher/url_matcher.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698