| Index: components/favicon/core/favicon_service_impl_unittest.cc
 | 
| diff --git a/components/favicon/core/favicon_service_impl_unittest.cc b/components/favicon/core/favicon_service_impl_unittest.cc
 | 
| new file mode 100644
 | 
| index 0000000000000000000000000000000000000000..65b98fbe33d7a273c2d7a49db6072724f9e8c961
 | 
| --- /dev/null
 | 
| +++ b/components/favicon/core/favicon_service_impl_unittest.cc
 | 
| @@ -0,0 +1,46 @@
 | 
| +// Copyright 2017 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 "components/favicon/core/favicon_service_impl.h"
 | 
| +
 | 
| +#include <memory>
 | 
| +
 | 
| +#include "base/files/scoped_temp_dir.h"
 | 
| +#include "base/message_loop/message_loop.h"
 | 
| +#include "components/favicon/core/favicon_client.h"
 | 
| +#include "components/history/core/browser/history_service.h"
 | 
| +#include "components/history/core/test/history_service_test_util.h"
 | 
| +#include "testing/gtest/include/gtest/gtest.h"
 | 
| +
 | 
| +namespace favicon {
 | 
| +namespace {
 | 
| +
 | 
| +TEST(FaviconServiceImplTest, ShouldCacheUnableToDownloadFavicons) {
 | 
| +  base::MessageLoop message_loop;
 | 
| +  base::ScopedTempDir history_dir;
 | 
| +  CHECK(history_dir.CreateUniqueTempDir());
 | 
| +  std::unique_ptr<history::HistoryService> history_service =
 | 
| +      history::CreateHistoryService(history_dir.GetPath(), /*create_db=*/false);
 | 
| +  FaviconServiceImpl favicon_service(
 | 
| +      /*favicon_client=*/nullptr, history_service.get());
 | 
| +
 | 
| +  const GURL icon1("http://www.google.com/favicon.ico");
 | 
| +  const GURL icon2("http://www.youtube.com/favicon.ico");
 | 
| +  EXPECT_FALSE(favicon_service.WasUnableToDownloadFavicon(icon1));
 | 
| +  EXPECT_FALSE(favicon_service.WasUnableToDownloadFavicon(icon2));
 | 
| +
 | 
| +  favicon_service.UnableToDownloadFavicon(icon1);
 | 
| +  EXPECT_TRUE(favicon_service.WasUnableToDownloadFavicon(icon1));
 | 
| +  EXPECT_FALSE(favicon_service.WasUnableToDownloadFavicon(icon2));
 | 
| +
 | 
| +  favicon_service.UnableToDownloadFavicon(icon2);
 | 
| +  EXPECT_TRUE(favicon_service.WasUnableToDownloadFavicon(icon2));
 | 
| +
 | 
| +  favicon_service.ClearUnableToDownloadFavicons();
 | 
| +  EXPECT_FALSE(favicon_service.WasUnableToDownloadFavicon(icon1));
 | 
| +  EXPECT_FALSE(favicon_service.WasUnableToDownloadFavicon(icon2));
 | 
| +}
 | 
| +
 | 
| +}  // namespace
 | 
| +}  // namespace favicon
 | 
| 
 |