| Index: components/feedback/anonymizer_tool_unittest.cc
|
| diff --git a/components/feedback/anonymizer_tool_unittest.cc b/components/feedback/anonymizer_tool_unittest.cc
|
| index 68f35a8e4bd073f6b9464d5c33d0b97c7f30b654..2e89137122076af305472c14b506497b3d9dacf2 100644
|
| --- a/components/feedback/anonymizer_tool_unittest.cc
|
| +++ b/components/feedback/anonymizer_tool_unittest.cc
|
| @@ -6,6 +6,8 @@
|
|
|
| #include <gtest/gtest.h>
|
|
|
| +#include "base/strings/string_util.h"
|
| +
|
| namespace feedback {
|
|
|
| class AnonymizerToolTest : public testing::Test {
|
| @@ -18,11 +20,19 @@ class AnonymizerToolTest : public testing::Test {
|
| return anonymizer_.AnonymizeCustomPatterns(input);
|
| }
|
|
|
| - static std::string AnonymizeCustomPattern(
|
| + std::string AnonymizeCustomPatternWithContext(
|
| const std::string& input,
|
| const std::string& pattern,
|
| std::map<std::string, std::string>* space) {
|
| - return AnonymizerTool::AnonymizeCustomPattern(input, pattern, space);
|
| + return anonymizer_.AnonymizeCustomPatternWithContext(input, pattern, space);
|
| + }
|
| +
|
| + std::string AnonymizeCustomPatternWithoutContext(
|
| + const std::string& input,
|
| + const CustomPatternWithoutContext& pattern,
|
| + std::map<std::string, std::string>* space) {
|
| + return anonymizer_.AnonymizeCustomPatternWithoutContext(input, pattern,
|
| + space);
|
| }
|
|
|
| AnonymizerTool anonymizer_;
|
| @@ -84,26 +94,86 @@ TEST_F(AnonymizerToolTest, AnonymizeCustomPatterns) {
|
| EXPECT_EQ(
|
| "a\nb [SSID=1] [SSID=2] [SSID=foo\nbar] b",
|
| AnonymizeCustomPatterns("a\nb [SSID=foo] [SSID=bar] [SSID=foo\nbar] b"));
|
| +
|
| + EXPECT_EQ("<email: 1>",
|
| + AnonymizeCustomPatterns("foo@bar.com"));
|
| + EXPECT_EQ("Email: <email: 1>.",
|
| + AnonymizeCustomPatterns("Email: foo@bar.com."));
|
| + EXPECT_EQ("Email:\n<email: 2>\n",
|
| + AnonymizeCustomPatterns("Email:\nfooooo@bar.com\n"));
|
| +
|
| + EXPECT_EQ("[<IPv6: 1>]", AnonymizeCustomPatterns(
|
| + "[2001:0db8:0000:0000:0000:ff00:0042:8329]"));
|
| + EXPECT_EQ("[<IPv6: 2>]",
|
| + AnonymizeCustomPatterns("[2001:db8:0:0:0:ff00:42:8329]"));
|
| + EXPECT_EQ("[<IPv6: 3>]", AnonymizeCustomPatterns("[2001:db8::ff00:42:8329]"));
|
| + EXPECT_EQ("[<IPv6: 4>]", AnonymizeCustomPatterns("[::1]"));
|
| + EXPECT_EQ("<IPv4: 1>", AnonymizeCustomPatterns("192.168.0.1"));
|
| +
|
| + EXPECT_EQ("<URL: 1>",
|
| + AnonymizeCustomPatterns("http://example.com/foo?test=1"));
|
| + EXPECT_EQ("Foo <URL: 2> Bar",
|
| + AnonymizeCustomPatterns("Foo http://192.168.0.1/foo?test=1#123 Bar"));
|
| + const char* kURLs[] = {
|
| + "http://example.com/foo?test=1",
|
| + "http://userid:password@example.com:8080",
|
| + "http://userid:password@example.com:8080/",
|
| + "http://@example.com",
|
| + "http://192.168.0.1",
|
| + "http://192.168.0.1/",
|
| + "http://اختبار.com",
|
| + "http://test.com/foo(bar)baz.html",
|
| + "http://test.com/foo%20bar",
|
| + "ftp://test:tester@test.com",
|
| + "chrome://extensions/",
|
| + "chrome-extension://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/options.html",
|
| + "http://example.com/foo?email=foo@bar.com",
|
| + };
|
| + for (size_t i = 0; i < arraysize(kURLs); ++i) {
|
| + SCOPED_TRACE(kURLs[i]);
|
| + std::string got = AnonymizeCustomPatterns(kURLs[i]);
|
| + EXPECT_TRUE(
|
| + base::StartsWith(got, "<URL: ", base::CompareCase::INSENSITIVE_ASCII));
|
| + EXPECT_TRUE(base::EndsWith(got, ">", base::CompareCase::INSENSITIVE_ASCII));
|
| + }
|
| + // Test that "Android:" is not considered a schema with empty hier part.
|
| + EXPECT_EQ("The following applies to Android:",
|
| + AnonymizeCustomPatterns("The following applies to Android:"));
|
| }
|
|
|
| -TEST_F(AnonymizerToolTest, AnonymizeCustomPattern) {
|
| +TEST_F(AnonymizerToolTest, AnonymizeCustomPatternWithContext) {
|
| const char kPattern[] = "(\\b(?i)id:? ')(\\d+)(')";
|
| std::map<std::string, std::string> space;
|
| - EXPECT_EQ("", AnonymizeCustomPattern("", kPattern, &space));
|
| + EXPECT_EQ("", AnonymizeCustomPatternWithContext("", kPattern, &space));
|
| EXPECT_EQ("foo\nbar\n",
|
| - AnonymizeCustomPattern("foo\nbar\n", kPattern, &space));
|
| - EXPECT_EQ("id '1'", AnonymizeCustomPattern("id '2345'", kPattern, &space));
|
| - EXPECT_EQ("id '2'", AnonymizeCustomPattern("id '1234'", kPattern, &space));
|
| - EXPECT_EQ("id: '2'", AnonymizeCustomPattern("id: '1234'", kPattern, &space));
|
| - EXPECT_EQ("ID: '1'", AnonymizeCustomPattern("ID: '2345'", kPattern, &space));
|
| + AnonymizeCustomPatternWithContext("foo\nbar\n", kPattern, &space));
|
| + EXPECT_EQ("id '1'",
|
| + AnonymizeCustomPatternWithContext("id '2345'", kPattern, &space));
|
| + EXPECT_EQ("id '2'",
|
| + AnonymizeCustomPatternWithContext("id '1234'", kPattern, &space));
|
| + EXPECT_EQ("id: '2'",
|
| + AnonymizeCustomPatternWithContext("id: '1234'", kPattern, &space));
|
| + EXPECT_EQ("ID: '1'",
|
| + AnonymizeCustomPatternWithContext("ID: '2345'", kPattern, &space));
|
| EXPECT_EQ("x1 id '1' 1x id '2'\nid '1'\n",
|
| - AnonymizeCustomPattern("x1 id '2345' 1x id '1234'\nid '2345'\n",
|
| - kPattern, &space));
|
| + AnonymizeCustomPatternWithContext(
|
| + "x1 id '2345' 1x id '1234'\nid '2345'\n", kPattern, &space));
|
| space.clear();
|
| - EXPECT_EQ("id '1'", AnonymizeCustomPattern("id '1234'", kPattern, &space));
|
| + EXPECT_EQ("id '1'",
|
| + AnonymizeCustomPatternWithContext("id '1234'", kPattern, &space));
|
|
|
| space.clear();
|
| - EXPECT_EQ("x1z", AnonymizeCustomPattern("xyz", "()(y+)()", &space));
|
| + EXPECT_EQ("x1z",
|
| + AnonymizeCustomPatternWithContext("xyz", "()(y+)()", &space));
|
| +}
|
| +
|
| +TEST_F(AnonymizerToolTest, AnonymizeCustomPatternWithoutContext) {
|
| + CustomPatternWithoutContext kPattern = {"pattern", "(o+)"};
|
| + std::map<std::string, std::string> space;
|
| + EXPECT_EQ("", AnonymizeCustomPatternWithoutContext("", kPattern, &space));
|
| + EXPECT_EQ("f<pattern: 1>\nf<pattern: 2>z\nf<pattern: 1>l\n",
|
| + AnonymizeCustomPatternWithoutContext("fo\nfooz\nfol\n", kPattern,
|
| + &space));
|
| }
|
|
|
| } // namespace feedback
|
|
|