| Index: chrome/browser/extensions/activity_log/fullstream_ui_policy_unittest.cc
|
| diff --git a/chrome/browser/extensions/activity_log/fullstream_ui_policy_unittest.cc b/chrome/browser/extensions/activity_log/fullstream_ui_policy_unittest.cc
|
| index 2c453a8ca98ee774e6b155397a4e207bc2a6ed6c..a7783064617ab61f1ef46367457666583a95575c 100644
|
| --- a/chrome/browser/extensions/activity_log/fullstream_ui_policy_unittest.cc
|
| +++ b/chrome/browser/extensions/activity_log/fullstream_ui_policy_unittest.cc
|
| @@ -141,6 +141,27 @@ class FullStreamUIPolicyTest : public testing::Test {
|
| ASSERT_EQ(api_print, actions->at(1)->PrintForDebug());
|
| }
|
|
|
| + static void AllURLsRemoved(scoped_ptr<Action::ActionVector> actions) {
|
| + std::string action_urls_cleared =
|
| + "ID=punky CATEGORY=dom_access API=lets ARGS=[\"vamoose\"]";
|
| + ASSERT_EQ(2, static_cast<int>(actions->size()));
|
| + ASSERT_EQ(action_urls_cleared, actions->at(0)->PrintForDebug());
|
| + ASSERT_EQ(action_urls_cleared, actions->at(1)->PrintForDebug());
|
| + }
|
| +
|
| + static void SomeURLsRemoved(scoped_ptr<Action::ActionVector> actions) {
|
| + std::string action_urls_not_cleared =
|
| + "ID=punky CATEGORY=dom_access API=lets ARGS=[\"vamoose\"] "
|
| + "PAGE_URL=http://www.google.com/ PAGE_TITLE=\"Google\" "
|
| + "ARG_URL=http://www.google.com/";
|
| + std::string action_urls_cleared =
|
| + "ID=punky CATEGORY=dom_access API=lets ARGS=[\"vamoose\"]";
|
| + ASSERT_EQ(3, static_cast<int>(actions->size()));
|
| + ASSERT_EQ(action_urls_cleared, actions->at(0)->PrintForDebug());
|
| + ASSERT_EQ(action_urls_cleared, actions->at(1)->PrintForDebug());
|
| + ASSERT_EQ(action_urls_not_cleared, actions->at(2)->PrintForDebug());
|
| + }
|
| +
|
| protected:
|
| ExtensionService* extension_service_;
|
| scoped_ptr<TestingProfile> profile_;
|
| @@ -275,6 +296,7 @@ TEST_F(FullStreamUIPolicyTest, GetTodaysActions) {
|
| "scoobydoo", mock_clock->Now(), Action::ACTION_DOM_ACCESS, "lets");
|
| action->mutable_args()->AppendString("vamoose");
|
| action->set_page_url(GURL("http://www.google.com"));
|
| + action->set_arg_url(GURL("http://www.google2.com"));
|
| policy->ProcessAction(action);
|
|
|
| CheckReadData(
|
| @@ -338,4 +360,93 @@ TEST_F(FullStreamUIPolicyTest, GetOlderActions) {
|
| policy->Close();
|
| }
|
|
|
| +TEST_F(FullStreamUIPolicyTest, RemoveAllURLs) {
|
| + ActivityLogPolicy* policy = new FullStreamUIPolicy(profile_.get());
|
| +
|
| + // Use a mock clock to ensure that events are not recorded on the wrong day
|
| + // when the test is run close to local midnight.
|
| + base::SimpleTestClock* mock_clock = new base::SimpleTestClock();
|
| + mock_clock->SetNow(base::Time::Now().LocalMidnight() +
|
| + base::TimeDelta::FromHours(12));
|
| + policy->SetClockForTesting(scoped_ptr<base::Clock>(mock_clock));
|
| +
|
| + // Record some actions
|
| + scoped_refptr<Action> action =
|
| + new Action("punky", mock_clock->Now(),
|
| + Action::ACTION_DOM_ACCESS, "lets");
|
| + action->mutable_args()->AppendString("vamoose");
|
| + action->set_page_url(GURL("http://www.google.com"));
|
| + action->set_page_title("Google");
|
| + action->set_arg_url(GURL("http://www.google.com"));
|
| + policy->ProcessAction(action);
|
| +
|
| + action = new Action(
|
| + "punky", mock_clock->Now(), Action::ACTION_DOM_ACCESS, "lets");
|
| + action->mutable_args()->AppendString("vamoose");
|
| + action->set_page_url(GURL("http://www.google2.com"));
|
| + action->set_page_title("Google");
|
| + action->set_arg_url(GURL("http://www.google2.com"));
|
| + policy->ProcessAction(action);
|
| +
|
| + // Clean all the URLs.
|
| + std::vector<GURL> no_url_restrictions;
|
| + policy->RemoveURLs(no_url_restrictions);
|
| +
|
| + CheckReadData(
|
| + policy,
|
| + "punky",
|
| + 0,
|
| + base::Bind(&FullStreamUIPolicyTest::AllURLsRemoved));
|
| + policy->Close();
|
| +}
|
| +
|
| +TEST_F(FullStreamUIPolicyTest, RemoveSpecificURLs) {
|
| + ActivityLogPolicy* policy = new FullStreamUIPolicy(profile_.get());
|
| +
|
| + // Use a mock clock to ensure that events are not recorded on the wrong day
|
| + // when the test is run close to local midnight.
|
| + base::SimpleTestClock* mock_clock = new base::SimpleTestClock();
|
| + mock_clock->SetNow(base::Time::Now().LocalMidnight() +
|
| + base::TimeDelta::FromHours(12));
|
| + policy->SetClockForTesting(scoped_ptr<base::Clock>(mock_clock));
|
| +
|
| + // Record some actions
|
| + scoped_refptr<Action> action =
|
| + new Action("punky", mock_clock->Now(), Action::ACTION_DOM_ACCESS, "lets");
|
| + action->mutable_args()->AppendString("vamoose");
|
| + action->set_page_url(GURL("http://www.google1.com"));
|
| + action->set_page_title("Google");
|
| + action->set_arg_url(GURL("http://www.google.com"));
|
| + policy->ProcessAction(action);
|
| +
|
| + action = new Action(
|
| + "punky", mock_clock->Now(), Action::ACTION_DOM_ACCESS, "lets");
|
| + action->mutable_args()->AppendString("vamoose");
|
| + action->set_page_url(GURL("http://www.google2.com"));
|
| + action->set_page_title("Google");
|
| + policy->ProcessAction(action);
|
| +
|
| + action = new Action(
|
| + "punky", mock_clock->Now(), Action::ACTION_DOM_ACCESS, "lets");
|
| + action->mutable_args()->AppendString("vamoose");
|
| + action->set_page_url(GURL("http://www.google.com"));
|
| + action->set_page_title("Google");
|
| + action->set_arg_url(GURL("http://www.google.com"));
|
| + policy->ProcessAction(action);
|
| +
|
| + // Clean some URLs.
|
| + std::vector<GURL> urls;
|
| + urls.push_back(GURL("http://www.google1.com"));
|
| + urls.push_back(GURL("http://www.google2.com"));
|
| + urls.push_back(GURL("http://www.url_not_in_db.com"));
|
| + policy->RemoveURLs(urls);
|
| +
|
| + CheckReadData(
|
| + policy,
|
| + "punky",
|
| + 0,
|
| + base::Bind(&FullStreamUIPolicyTest::SomeURLsRemoved));
|
| + policy->Close();
|
| +}
|
| +
|
| } // namespace extensions
|
|
|