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

Side by Side Diff: chrome/browser/win/jumplist_update_util_unittest.cc

Issue 2896233003: Cancel the JumpList update if top 5 most visited URLs are unchanged (Closed)
Patch Set: Add unittest Created 3 years, 6 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
OLDNEW
(Empty)
1 // Copyright (c) 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "chrome/browser/win/jumplist_update_util.h"
6
7 #include "algorithm"
grt (UTC plus 2) 2017/05/30 08:51:42 <algorithm>
chengx 2017/05/30 19:37:02 Done.
8
9 #include "base/containers/hash_tables.h"
grt (UTC plus 2) 2017/05/30 08:51:42 a comment in this file says: // This header file
chengx 2017/05/30 19:37:02 I've removed this header file since kTestData does
10 #include "base/strings/utf_string_conversions.h"
11 #include "testing/gtest/include/gtest/gtest.h"
12
13 namespace {
14
15 // An url-title map used to initilize the member variables in class
16 // JumpListUpdateUtilTest.
17 base::hash_map<std::string, std::string> url_title = {
18 {"https://www.google.com/", "Google"},
19 {"https://www.youtube.com/", "Youtube"},
20 {"https://www.gmail.com/", "Gmail"}};
21
22 // Helper function to create a ShellLinkItem whose url is specified by |url|.
23 scoped_refptr<ShellLinkItem> CreateShellLinkWithURL(const std::string& url) {
24 scoped_refptr<ShellLinkItem> item(new ShellLinkItem);
grt (UTC plus 2) 2017/05/30 08:51:42 auto item = base::MakeRefCounted<ShellLinkItem>();
chengx 2017/05/30 19:37:02 Done.
25 item->set_url(url);
26 return item;
27 }
28
29 } // namespace
30
31 class JumpListUpdateUtilTest : public testing::Test {
grt (UTC plus 2) 2017/05/30 08:51:42 i don't think this test fixture adds any value as-
chengx 2017/05/30 19:37:03 Done.
32 protected:
33 // A list of ShellLinkItem and each ShellLinkItem contains an URL.
34 ShellLinkItemList item_list;
35
36 // A list of history::MostVisitedURL, each of which contains an URL.
37 history::MostVisitedURLList url_list;
38 };
39
40 TEST_F(JumpListUpdateUtilTest, MostVisitedItemsUnchanged) {
41 // Initialize item_list and url_list using the url_title map.
grt (UTC plus 2) 2017/05/30 08:51:42 replace url_title in the unnamed namespace with th
chengx 2017/05/30 19:37:02 Done.
42 for (const auto& url_title_pair : url_title) {
43 item_list.push_back(CreateShellLinkWithURL(url_title_pair.first));
44
45 GURL url(base::UTF8ToUTF16(url_title_pair.first));
grt (UTC plus 2) 2017/05/30 08:51:42 this conversion isn't needed -- GURL has a ctor th
chengx 2017/05/30 19:37:02 Done.
46 history::MostVisitedURL most_visited_url(
47 url, base::UTF8ToUTF16(url_title_pair.second));
grt (UTC plus 2) 2017/05/30 08:51:42 remove this conversion in favor of using a wchar_t
chengx 2017/05/30 19:37:03 Done.
48 url_list.push_back(most_visited_url);
49 }
50
51 // Now both item_list and url_list have 3 urls: Google, Youtube, Gmail.
52 // Also, their urls have the same order.
53 EXPECT_TRUE(MostVisitedItemsUnchanged(item_list, url_list, 3));
54 EXPECT_FALSE(MostVisitedItemsUnchanged(item_list, url_list, 2));
55 EXPECT_FALSE(MostVisitedItemsUnchanged(item_list, url_list, 1));
56
57 // Reverse url_list.
58 // Now item_list has 3 urls: Google, Youtube, Gmail,
59 // and url_list's 3 urls are in reverse order: Gmail, Youtube, Google.
60 std::reverse(url_list.begin(), url_list.end());
61 EXPECT_FALSE(MostVisitedItemsUnchanged(item_list, url_list, 3));
62
63 // Reverse url_list back.
64 std::reverse(url_list.begin(), url_list.end());
65 EXPECT_TRUE(MostVisitedItemsUnchanged(item_list, url_list, 3));
66
67 // Pop out the last url ("Gmail") from item_list.
68 // Now item_list has 2 urls: Google, Youtube,
69 // and url_list has 3 urls: Google, Youtube, Gmail.
70 item_list.pop_back();
grt (UTC plus 2) 2017/05/30 08:51:42 i'm finding it hard to follow what "url_list" and
chengx 2017/05/30 19:37:03 I changed to history_items and jumplist_items.
71 EXPECT_FALSE(MostVisitedItemsUnchanged(item_list, url_list, 3));
72 EXPECT_TRUE(MostVisitedItemsUnchanged(item_list, url_list, 2));
73 EXPECT_FALSE(MostVisitedItemsUnchanged(item_list, url_list, 1));
74
75 // Pop out the last two urls ("Youtube", "Gmail") from url_list.
76 // Now item_list has 2 urls: Google, Youtube,
77 // and url_list has 1 url: Google.
78 url_list.pop_back();
79 url_list.pop_back();
80 EXPECT_FALSE(MostVisitedItemsUnchanged(item_list, url_list, 3));
81 EXPECT_FALSE(MostVisitedItemsUnchanged(item_list, url_list, 2));
82 EXPECT_FALSE(MostVisitedItemsUnchanged(item_list, url_list, 1));
83 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698