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

Side by Side Diff: chrome/browser/ui/title_prefix_matcher_unittest.cc

Issue 7067007: Remove prefix eliding (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 7 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
(Empty)
1 // Copyright (c) 2011 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 "base/logging.h"
6 #include "base/utf_string_conversions.h"
7 #include "chrome/browser/ui/title_prefix_matcher.h"
8 #include "googleurl/src/gurl.h"
9 #include "testing/gtest/include/gtest/gtest.h"
10
11 namespace {
12 const GURL kUrlA1("http://a.b.c/123");
13 const GURL kUrlA2("http://a.b.c/alphabits");
14 const GURL kUrlB1("http://www.here.com/here/and/there");
15 const GURL kUrlB2("http://www.here.com/elsewhere");
16 const GURL kUrlC1("http://www.here.ca/far/far/away");
17 const string16 kFoofooAbcdef(ASCIIToUTF16("Foofoo abcdef"));
18 const string16 kFoofooAbcdeg(ASCIIToUTF16("Foofoo abcdeg"));
19 const string16 kFooAbcdef(ASCIIToUTF16("Foo abcdef"));
20 const string16 kFooAbcdeg(ASCIIToUTF16("Foo abcdeg"));
21 const string16 kBarAbcDef(ASCIIToUTF16("Bar abc def"));
22 const string16 kBarAbcDeg(ASCIIToUTF16("Bar abc deg"));
23 const string16 kBarAbdDef(ASCIIToUTF16("Bar abd def"));
24 const string16 kBar(ASCIIToUTF16("Bar"));
25 const string16 kFoo(ASCIIToUTF16("Foo"));
26
27 }
28
29 TEST(TitlePrefixMatcherTest, BasicTests) {
30 std::vector<TitlePrefixMatcher::TitleInfo> tab_title_infos;
31 tab_title_infos.push_back(TitlePrefixMatcher::TitleInfo(&kFoofooAbcdef,
32 kUrlA1, 0));
33 tab_title_infos.push_back(TitlePrefixMatcher::TitleInfo(&kFoofooAbcdeg,
34 kUrlA1, 1));
35
36 TitlePrefixMatcher::CalculatePrefixLengths(&tab_title_infos);
37 EXPECT_EQ(0, tab_title_infos[0].caller_value);
38 EXPECT_EQ(7U, tab_title_infos[0].prefix_length);
39
40 EXPECT_EQ(1, tab_title_infos[1].caller_value);
41 EXPECT_EQ(7U, tab_title_infos[1].prefix_length);
42
43 tab_title_infos.clear();
44 tab_title_infos.push_back(TitlePrefixMatcher::TitleInfo(&kFoofooAbcdef,
45 kUrlA1, 0));
46 tab_title_infos.push_back(TitlePrefixMatcher::TitleInfo(&kFoofooAbcdeg,
47 kUrlA1, 1));
48 tab_title_infos.push_back(TitlePrefixMatcher::TitleInfo(&kFooAbcdef,
49 kUrlA1, 2));
50 tab_title_infos.push_back(TitlePrefixMatcher::TitleInfo(&kFooAbcdeg,
51 kUrlA1, 3));
52
53 TitlePrefixMatcher::CalculatePrefixLengths(&tab_title_infos);
54 EXPECT_EQ(0, tab_title_infos[0].caller_value);
55 EXPECT_EQ(7U, tab_title_infos[0].prefix_length);
56
57 EXPECT_EQ(1, tab_title_infos[1].caller_value);
58 EXPECT_EQ(7U, tab_title_infos[1].prefix_length);
59
60 EXPECT_EQ(2, tab_title_infos[2].caller_value);
61 EXPECT_EQ(4U, tab_title_infos[2].prefix_length);
62
63 EXPECT_EQ(3, tab_title_infos[3].caller_value);
64 EXPECT_EQ(4U, tab_title_infos[3].prefix_length);
65 }
66
67 TEST(TitlePrefixMatcherTest, Duplicates) {
68 std::vector<TitlePrefixMatcher::TitleInfo> tab_title_infos;
69 tab_title_infos.push_back(TitlePrefixMatcher::TitleInfo(&kFoofooAbcdef,
70 kUrlA1, 0));
71 tab_title_infos.push_back(TitlePrefixMatcher::TitleInfo(&kFoofooAbcdeg,
72 kUrlA1, 1));
73 tab_title_infos.push_back(TitlePrefixMatcher::TitleInfo(&kFooAbcdef,
74 kUrlA1, 2));
75 tab_title_infos.push_back(TitlePrefixMatcher::TitleInfo(&kFooAbcdeg,
76 kUrlA1, 3));
77 tab_title_infos.push_back(TitlePrefixMatcher::TitleInfo(&kFoofooAbcdef,
78 kUrlA1, 4));
79
80 TitlePrefixMatcher::CalculatePrefixLengths(&tab_title_infos);
81 EXPECT_EQ(0, tab_title_infos[0].caller_value);
82 EXPECT_EQ(0U, tab_title_infos[0].prefix_length);
83
84 EXPECT_EQ(1, tab_title_infos[1].caller_value);
85 EXPECT_EQ(0U, tab_title_infos[1].prefix_length);
86
87 EXPECT_EQ(2, tab_title_infos[2].caller_value);
88 EXPECT_EQ(4U, tab_title_infos[2].prefix_length);
89
90 EXPECT_EQ(3, tab_title_infos[3].caller_value);
91 EXPECT_EQ(4U, tab_title_infos[3].prefix_length);
92
93 EXPECT_EQ(4, tab_title_infos[4].caller_value);
94 EXPECT_EQ(0U, tab_title_infos[4].prefix_length);
95 }
96
97 TEST(TitlePrefixMatcherTest, MultiplePrefixes) {
98 std::vector<TitlePrefixMatcher::TitleInfo> tab_title_infos;
99 tab_title_infos.push_back(TitlePrefixMatcher::TitleInfo(&kFooAbcdef,
100 kUrlA1, 0));
101 tab_title_infos.push_back(TitlePrefixMatcher::TitleInfo(&kFooAbcdeg,
102 kUrlA1, 1));
103 tab_title_infos.push_back(TitlePrefixMatcher::TitleInfo(&kBarAbcDef,
104 kUrlA1, 2));
105 tab_title_infos.push_back(TitlePrefixMatcher::TitleInfo(&kBarAbcDeg,
106 kUrlA1, 3));
107 tab_title_infos.push_back(TitlePrefixMatcher::TitleInfo(&kBarAbdDef,
108 kUrlA1, 4));
109 tab_title_infos.push_back(TitlePrefixMatcher::TitleInfo(&kBar,
110 kUrlA1, 5));
111 tab_title_infos.push_back(TitlePrefixMatcher::TitleInfo(&kFoo,
112 kUrlA1, 6));
113
114 TitlePrefixMatcher::CalculatePrefixLengths(&tab_title_infos);
115 EXPECT_EQ(0, tab_title_infos[0].caller_value);
116 EXPECT_EQ(4U, tab_title_infos[0].prefix_length);
117
118 EXPECT_EQ(1, tab_title_infos[1].caller_value);
119 EXPECT_EQ(4U, tab_title_infos[1].prefix_length);
120
121 EXPECT_EQ(2, tab_title_infos[2].caller_value);
122 EXPECT_EQ(8U, tab_title_infos[2].prefix_length);
123
124 EXPECT_EQ(3, tab_title_infos[3].caller_value);
125 EXPECT_EQ(8U, tab_title_infos[3].prefix_length);
126
127 EXPECT_EQ(4, tab_title_infos[4].caller_value);
128 EXPECT_EQ(4U, tab_title_infos[4].prefix_length);
129
130 EXPECT_EQ(5, tab_title_infos[5].caller_value);
131 EXPECT_EQ(0U, tab_title_infos[5].prefix_length);
132
133 EXPECT_EQ(6, tab_title_infos[6].caller_value);
134 EXPECT_EQ(0U, tab_title_infos[6].prefix_length);
135 }
136
137 TEST(TitlePrefixMatcherTest, DifferentHosts) {
138 std::vector<TitlePrefixMatcher::TitleInfo> tab_title_infos;
139 tab_title_infos.push_back(TitlePrefixMatcher::TitleInfo(&kFoofooAbcdef,
140 kUrlA1, 0));
141 tab_title_infos.push_back(TitlePrefixMatcher::TitleInfo(&kFoofooAbcdeg,
142 kUrlA2, 1));
143 tab_title_infos.push_back(TitlePrefixMatcher::TitleInfo(&kFooAbcdef,
144 kUrlB1, 2));
145 tab_title_infos.push_back(TitlePrefixMatcher::TitleInfo(&kBarAbdDef,
146 kUrlC1, 3));
147 tab_title_infos.push_back(TitlePrefixMatcher::TitleInfo(&kBarAbcDef,
148 kUrlA1, 4));
149 tab_title_infos.push_back(TitlePrefixMatcher::TitleInfo(&kBarAbcDeg,
150 kUrlA2, 5));
151 tab_title_infos.push_back(TitlePrefixMatcher::TitleInfo(&kFooAbcdeg,
152 kUrlB2, 6));
153
154 TitlePrefixMatcher::CalculatePrefixLengths(&tab_title_infos);
155 EXPECT_EQ(0, tab_title_infos[0].caller_value);
156 EXPECT_EQ(7U, tab_title_infos[0].prefix_length);
157
158 EXPECT_EQ(1, tab_title_infos[1].caller_value);
159 EXPECT_EQ(7U, tab_title_infos[1].prefix_length);
160
161 EXPECT_EQ(2, tab_title_infos[2].caller_value);
162 EXPECT_EQ(4U, tab_title_infos[2].prefix_length);
163
164 EXPECT_EQ(3, tab_title_infos[3].caller_value);
165 EXPECT_EQ(0U, tab_title_infos[3].prefix_length);
166
167 EXPECT_EQ(4, tab_title_infos[4].caller_value);
168 EXPECT_EQ(8U, tab_title_infos[4].prefix_length);
169
170 EXPECT_EQ(5, tab_title_infos[5].caller_value);
171 EXPECT_EQ(8U, tab_title_infos[5].prefix_length);
172
173 EXPECT_EQ(6, tab_title_infos[6].caller_value);
174 EXPECT_EQ(4U, tab_title_infos[6].prefix_length);
175 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698