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

Unified Diff: chrome/browser/garbled_text_url_tracker_unittest.cc

Issue 9235004: [Garbled Text][Infobar] Adding infobar to suggest turning on encoding detection. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: rebase Created 8 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
« no previous file with comments | « chrome/browser/garbled_text_url_tracker.cc ('k') | chrome/browser/infobars/infobar_delegate.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/garbled_text_url_tracker_unittest.cc
diff --git a/chrome/browser/garbled_text_url_tracker_unittest.cc b/chrome/browser/garbled_text_url_tracker_unittest.cc
new file mode 100644
index 0000000000000000000000000000000000000000..e0be762bf68087a63734ae222c601618ca6fcd44
--- /dev/null
+++ b/chrome/browser/garbled_text_url_tracker_unittest.cc
@@ -0,0 +1,106 @@
+// 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 "base/memory/scoped_ptr.h"
+#include "chrome/browser/garbled_text_url_tracker.h"
+#include "chrome/browser/prefs/pref_service.h"
+#include "chrome/common/pref_names.h"
+#include "chrome/test/base/testing_profile.h"
+#include "googleurl/src/gurl.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+class GarbledTextURLTrackerTest : public testing::Test {
+ public:
+ typedef GarbledTextURLTracker::Blacklist Blacklist;
+ typedef GarbledTextURLTracker::GarbledURLs GarbledURLs;
+ GarbledTextURLTrackerTest() {}
+
+ protected:
+ virtual void SetUp() OVERRIDE {
+ enabled_.Init(prefs::kEnableAutoGarbledTextFix,
+ profile_.GetPrefs(), NULL);
+ }
+
+ virtual void TearDown() OVERRIDE {
+ }
+
+ const BooleanPrefMember& enabled() {
+ return enabled_;
+ }
+
+ void set_enabled(bool enabled) {
+ enabled_.SetValue(enabled);
+ }
+
+ private:
+ TestingProfile profile_;
+ BooleanPrefMember enabled_;
+
+ DISALLOW_COPY_AND_ASSIGN(GarbledTextURLTrackerTest);
+};
+
+TEST_F(GarbledTextURLTrackerTest, QueryAndAddTest) {
+ std::string kBlacklist[] = {
+ "foo.example.com",
+ "bar.example.com",
+ "baz.example.com",
+ };
+ GarbledTextURLTracker tracker(
+ enabled(),
+ Blacklist(kBlacklist, kBlacklist + arraysize(kBlacklist)));
+
+ EXPECT_TRUE(tracker.NeedsEncodingDetection(
+ GURL("https://foo.example.com/apple/banana/cherry.csv")));
+ EXPECT_FALSE(tracker.NeedsEncodingDetection(
+ GURL("ftp://fizz.example.com/cat/dog.png")));
+
+ GURL kGarbledURLs[] = {
+ GURL("http://fizz.example.com/hoge/fuga/piyo.html"),
+ GURL("file://buzz.example.com/fuga.txt"),
+ GURL("http://fizz.example.com/piyo.css"),
+ };
+ Blacklist delta;
+ tracker.UpdateBlacklist(
+ GarbledURLs(kGarbledURLs, kGarbledURLs + arraysize(kGarbledURLs)),
+ &delta);
+ EXPECT_EQ(2u, delta.size());
+ EXPECT_TRUE(delta.find("fizz.example.com") != delta.end());
+ EXPECT_TRUE(delta.find("buzz.example.com") != delta.end());
+
+ EXPECT_TRUE(tracker.NeedsEncodingDetection(
+ GURL("gopher://fizz.example.com/pakeratta.dat")));
+ EXPECT_FALSE(tracker.NeedsEncodingDetection(
+ GURL("wss://puyo.example.com/fire/ice.xml")));
+}
+
+TEST_F(GarbledTextURLTrackerTest, DisablingTest) {
+ std::string kBlacklist[] = {
+ "coffee.example.com",
+ "tea.example.com",
+ };
+ GarbledTextURLTracker tracker(
+ enabled(),
+ Blacklist(kBlacklist, kBlacklist + arraysize(kBlacklist)));
+
+ set_enabled(false);
+ EXPECT_FALSE(tracker.NeedsEncodingDetection(
+ GURL("http://coffee.example.com/cup.txt")));
+ EXPECT_FALSE(tracker.NeedsEncodingDetection(
+ GURL("http://vodka.example.com/barrel.bat")));
+
+ GURL kGarbledURLs[] = {
+ GURL("http://tabasco.example.com/stein.tar"),
+ };
+ Blacklist delta;
+ tracker.UpdateBlacklist(
+ GarbledURLs(kGarbledURLs, kGarbledURLs + arraysize(kGarbledURLs)),
+ &delta);
+ EXPECT_TRUE(delta.empty());
+
+ set_enabled(true);
+ EXPECT_TRUE(tracker.NeedsEncodingDetection(
+ GURL("http://coffee.example.com/milk.js")));
+ EXPECT_FALSE(tracker.NeedsEncodingDetection(
+ GURL("http://tabasco.example.com/")));
+}
« no previous file with comments | « chrome/browser/garbled_text_url_tracker.cc ('k') | chrome/browser/infobars/infobar_delegate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698