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

Side by Side Diff: chrome/browser/history/history_unittest.cc

Issue 6283001: Remove TopSites::IsEnabled() as well as related dead code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: remove OnThumbnailDataAvailable Created 9 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // History unit tests come in two flavors: 5 // History unit tests come in two flavors:
6 // 6 //
7 // 1. The more complicated style is that the unit test creates a full history 7 // 1. The more complicated style is that the unit test creates a full history
8 // service. This spawns a background thread for the history backend, and 8 // service. This spawns a background thread for the history backend, and
9 // all communication is asynchronous. This is useful for testing more 9 // all communication is asynchronous. This is useful for testing more
10 // complicated things or end-to-end behavior. 10 // complicated things or end-to-end behavior.
(...skipping 27 matching lines...) Expand all
38 #include "base/utf_string_conversions.h" 38 #include "base/utf_string_conversions.h"
39 #include "chrome/browser/download/download_item.h" 39 #include "chrome/browser/download/download_item.h"
40 #include "chrome/browser/history/download_create_info.h" 40 #include "chrome/browser/history/download_create_info.h"
41 #include "chrome/browser/history/history.h" 41 #include "chrome/browser/history/history.h"
42 #include "chrome/browser/history/history_backend.h" 42 #include "chrome/browser/history/history_backend.h"
43 #include "chrome/browser/history/history_database.h" 43 #include "chrome/browser/history/history_database.h"
44 #include "chrome/browser/history/history_notifications.h" 44 #include "chrome/browser/history/history_notifications.h"
45 #include "chrome/browser/history/in_memory_database.h" 45 #include "chrome/browser/history/in_memory_database.h"
46 #include "chrome/browser/history/in_memory_history_backend.h" 46 #include "chrome/browser/history/in_memory_history_backend.h"
47 #include "chrome/browser/history/page_usage_data.h" 47 #include "chrome/browser/history/page_usage_data.h"
48 #include "chrome/browser/history/top_sites.h"
49 #include "chrome/common/chrome_paths.h" 48 #include "chrome/common/chrome_paths.h"
50 #include "chrome/common/notification_details.h" 49 #include "chrome/common/notification_details.h"
51 #include "chrome/common/notification_source.h" 50 #include "chrome/common/notification_source.h"
52 #include "chrome/common/thumbnail_score.h" 51 #include "chrome/common/thumbnail_score.h"
53 #include "chrome/tools/profiles/thumbnail-inl.h" 52 #include "chrome/tools/profiles/thumbnail-inl.h"
54 #include "gfx/codec/jpeg_codec.h" 53 #include "gfx/codec/jpeg_codec.h"
55 #include "testing/gtest/include/gtest/gtest.h" 54 #include "testing/gtest/include/gtest/gtest.h"
56 #include "third_party/skia/include/core/SkBitmap.h" 55 #include "third_party/skia/include/core/SkBitmap.h"
57 56
58 using base::Time; 57 using base::Time;
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 HistoryTest() 105 HistoryTest()
107 : history_service_(NULL), 106 : history_service_(NULL),
108 got_thumbnail_callback_(false), 107 got_thumbnail_callback_(false),
109 redirect_query_success_(false), 108 redirect_query_success_(false),
110 query_url_success_(false), 109 query_url_success_(false),
111 db_(NULL) { 110 db_(NULL) {
112 } 111 }
113 ~HistoryTest() { 112 ~HistoryTest() {
114 } 113 }
115 114
116 // Thumbnail callback: we save the data and exit the message loop so the
117 // unit test can read the data
118 void OnThumbnailDataAvailable(
119 HistoryService::Handle request_handle,
120 scoped_refptr<RefCountedBytes> jpeg_data) {
121 got_thumbnail_callback_ = true;
122 if (jpeg_data.get()) {
123 std::copy(jpeg_data->data.begin(), jpeg_data->data.end(),
124 std::back_inserter(thumbnail_data_));
125 }
126 MessageLoop::current()->Quit();
127 }
128
129 // Creates the HistoryBackend and HistoryDatabase on the current thread, 115 // Creates the HistoryBackend and HistoryDatabase on the current thread,
130 // assigning the values to backend_ and db_. 116 // assigning the values to backend_ and db_.
131 void CreateBackendAndDatabase() { 117 void CreateBackendAndDatabase() {
132 backend_ = 118 backend_ =
133 new HistoryBackend(history_dir_, new BackendDelegate(this), NULL); 119 new HistoryBackend(history_dir_, new BackendDelegate(this), NULL);
134 backend_->Init(std::string(), false); 120 backend_->Init(std::string(), false);
135 db_ = backend_->db_.get(); 121 db_ = backend_->db_.get();
136 DCHECK(in_mem_backend_.get()) << "Mem backend should have been set by " 122 DCHECK(in_mem_backend_.get()) << "Mem backend should have been set by "
137 "HistoryBackend::Init"; 123 "HistoryBackend::Init";
138 } 124 }
(...skipping 536 matching lines...) Expand 10 before | Expand all | Expand 10 after
675 MessageLoop::current()->Run(); 661 MessageLoop::current()->Run();
676 662
677 // Make sure we still have one segment. 663 // Make sure we still have one segment.
678 ASSERT_EQ(1U, page_usage_data_->size()); 664 ASSERT_EQ(1U, page_usage_data_->size());
679 EXPECT_TRUE(page_usage_data_[0]->GetURL() == existing_url); 665 EXPECT_TRUE(page_usage_data_[0]->GetURL() == existing_url);
680 666
681 // However, the score should have increased. 667 // However, the score should have increased.
682 EXPECT_GT(page_usage_data_[0]->GetScore(), 5.0); 668 EXPECT_GT(page_usage_data_[0]->GetScore(), 5.0);
683 } 669 }
684 670
685 // This just tests history system -> thumbnail database integration, the actual
686 // thumbnail tests are in its own file.
687 TEST_F(HistoryTest, Thumbnails) {
688 if (history::TopSites::IsEnabled())
689 return; // TopSitesTest replaces this.
690
691 scoped_refptr<HistoryService> history(new HistoryService);
692 history_service_ = history;
693 ASSERT_TRUE(history->Init(history_dir_, NULL));
694
695 scoped_ptr<SkBitmap> thumbnail(
696 gfx::JPEGCodec::Decode(kGoogleThumbnail, sizeof(kGoogleThumbnail)));
697 static const double boringness = 0.25;
698
699 const GURL url("http://www.google.com/thumbnail_test/");
700 // Must be visited before adding a thumbnail.
701 history->AddPage(url, history::SOURCE_BROWSED);
702 history->SetPageThumbnail(url, *thumbnail,
703 ThumbnailScore(boringness, true, true));
704
705 // Make sure we get the correct thumbnail data.
706 EXPECT_TRUE(history->GetPageThumbnail(url, &consumer_,
707 NewCallback(static_cast<HistoryTest*>(this),
708 &HistoryTest::OnThumbnailDataAvailable)));
709 thumbnail_data_.clear();
710 MessageLoop::current()->Run();
711 // Make sure we got a valid JPEG back. This isn't equivalent to
712 // being correct, but when we're roundtripping through JPEG
713 // compression and we don't have a similarity measure.
714 EXPECT_TRUE(thumbnail_data_.size());
715 scoped_ptr<SkBitmap> decoded_thumbnail(
716 gfx::JPEGCodec::Decode(&thumbnail_data_[0], thumbnail_data_.size()));
717 EXPECT_TRUE(decoded_thumbnail.get());
718
719 // Request a nonexistent thumbnail and make sure we get
720 // a callback and no data.
721 EXPECT_TRUE(history->GetPageThumbnail(GURL("http://asdfasdf.com/"),
722 &consumer_,
723 NewCallback(static_cast<HistoryTest*>(this),
724 &HistoryTest::OnThumbnailDataAvailable)));
725 thumbnail_data_.clear();
726 MessageLoop::current()->Run();
727 EXPECT_EQ(0U, thumbnail_data_.size());
728
729 // Request the thumbnail and cancel the request..
730 got_thumbnail_callback_ = false;
731 thumbnail_data_.clear();
732 HistoryService::Handle handle = history->GetPageThumbnail(url, &consumer_,
733 NewCallback(static_cast<HistoryTest*>(this),
734 &HistoryTest::OnThumbnailDataAvailable));
735 EXPECT_TRUE(handle);
736
737 history->CancelRequest(handle);
738
739 // We create a task with a timeout so we can make sure we don't get and
740 // data in that time.
741 class QuitMessageLoop : public Task {
742 public:
743 virtual void Run() {
744 MessageLoop::current()->Quit();
745 }
746 };
747 MessageLoop::current()->PostDelayedTask(FROM_HERE, new QuitMessageLoop, 2000);
748 MessageLoop::current()->Run();
749 EXPECT_FALSE(got_thumbnail_callback_);
750 }
751
752 TEST_F(HistoryTest, MostVisitedURLs) { 671 TEST_F(HistoryTest, MostVisitedURLs) {
753 scoped_refptr<HistoryService> history(new HistoryService); 672 scoped_refptr<HistoryService> history(new HistoryService);
754 history_service_ = history; 673 history_service_ = history;
755 ASSERT_TRUE(history->Init(history_dir_, NULL)); 674 ASSERT_TRUE(history->Init(history_dir_, NULL));
756 675
757 const GURL url0("http://www.google.com/url0/"); 676 const GURL url0("http://www.google.com/url0/");
758 const GURL url1("http://www.google.com/url1/"); 677 const GURL url1("http://www.google.com/url1/");
759 const GURL url2("http://www.google.com/url2/"); 678 const GURL url2("http://www.google.com/url2/");
760 const GURL url3("http://www.google.com/url3/"); 679 const GURL url3("http://www.google.com/url3/");
761 const GURL url4("http://www.google.com/url4/"); 680 const GURL url4("http://www.google.com/url4/");
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
932 history_service_ = history; 851 history_service_ = history;
933 history->ScheduleDBTask(task.get(), &request_consumer); 852 history->ScheduleDBTask(task.get(), &request_consumer);
934 request_consumer.CancelAllRequests(); 853 request_consumer.CancelAllRequests();
935 CleanupHistoryService(); 854 CleanupHistoryService();
936 // WARNING: history has now been deleted. 855 // WARNING: history has now been deleted.
937 history = NULL; 856 history = NULL;
938 ASSERT_FALSE(task->done_invoked); 857 ASSERT_FALSE(task->done_invoked);
939 } 858 }
940 859
941 } // namespace history 860 } // namespace history
OLDNEW
« no previous file with comments | « chrome/browser/history/history_backend_unittest.cc ('k') | chrome/browser/history/thumbnail_database.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698