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

Side by Side Diff: chrome/browser/extensions/extension_omnibox_unittest.cc

Issue 10265022: Moving extensions inside chrome/browser/extensions/ (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Re-synced with the current trunk Created 8 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) 2010 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/values.h"
6 #include "chrome/browser/extensions/extension_omnibox_api.h"
7 #include "testing/gtest/include/gtest/gtest.h"
8 #include "testing/platform_test.h"
9
10 namespace {
11
12 const int kNone = ACMatchClassification::NONE;
13 const int kUrl = ACMatchClassification::URL;
14 const int kMatch = ACMatchClassification::MATCH;
15 const int kDim = ACMatchClassification::DIM;
16
17 void AppendStyle(const std::string& type,
18 int offset, int length,
19 ListValue* styles) {
20 DictionaryValue* style = new DictionaryValue;
21 style->SetString("type", type);
22 style->SetInteger("offset", offset);
23 style->SetInteger("length", length);
24 styles->Append(style);
25 }
26
27 void CompareClassification(const ACMatchClassifications& expected,
28 const ACMatchClassifications& actual) {
29 EXPECT_EQ(expected.size(), actual.size());
30 for (size_t i = 0; i < expected.size() && i < actual.size(); ++i) {
31 EXPECT_EQ(expected[i].offset, actual[i].offset) << "Index:" << i;
32 EXPECT_EQ(expected[i].style, actual[i].style) << "Index:" << i;
33 }
34 }
35
36 } // namespace
37
38 // Test output key: n = character with no styling, d = dim, m = match, u = url
39 // u = 1, m = 2, d = 4. u+d = 5, etc.
40
41 // 0123456789
42 // mmmm
43 // + ddd
44 // = nmmmmndddn
45 TEST(ExtensionOmniboxTest, DescriptionStylesSimple) {
46 ListValue styles_value;
47 AppendStyle("match", 1, 4, &styles_value);
48 AppendStyle("dim", 6, 3, &styles_value);
49
50 ACMatchClassifications styles_expected;
51 styles_expected.push_back(ACMatchClassification(0, kNone));
52 styles_expected.push_back(ACMatchClassification(1, kMatch));
53 styles_expected.push_back(ACMatchClassification(5, kNone));
54 styles_expected.push_back(ACMatchClassification(6, kDim));
55 styles_expected.push_back(ACMatchClassification(9, kNone));
56
57 ExtensionOmniboxSuggestion suggestions;
58 suggestions.description.resize(10);
59 EXPECT_TRUE(suggestions.ReadStylesFromValue(styles_value));
60 CompareClassification(styles_expected, suggestions.description_styles);
61
62 // Same input, but swap the order. Ensure it still works.
63 styles_value.Clear();
64 AppendStyle("dim", 6, 3, &styles_value);
65 AppendStyle("match", 1, 4, &styles_value);
66 EXPECT_TRUE(suggestions.ReadStylesFromValue(styles_value));
67 CompareClassification(styles_expected, suggestions.description_styles);
68 }
69
70 // 0123456789
71 // uuuuu
72 // + dd
73 // + mm
74 // + mmmm
75 // + dd
76 // = 3773unnnn66
77 TEST(ExtensionOmniboxTest, DescriptionStylesCombine) {
78 ListValue styles_value;
79 AppendStyle("url", 0, 5, &styles_value);
80 AppendStyle("dim", 9, 2, &styles_value);
81 AppendStyle("match", 9, 2, &styles_value);
82 AppendStyle("match", 0, 4, &styles_value);
83 AppendStyle("dim", 1, 2, &styles_value);
84
85 ACMatchClassifications styles_expected;
86 styles_expected.push_back(ACMatchClassification(0, kUrl | kMatch));
87 styles_expected.push_back(ACMatchClassification(1, kUrl | kMatch | kDim));
88 styles_expected.push_back(ACMatchClassification(3, kUrl | kMatch));
89 styles_expected.push_back(ACMatchClassification(4, kUrl));
90 styles_expected.push_back(ACMatchClassification(5, kNone));
91 styles_expected.push_back(ACMatchClassification(9, kMatch | kDim));
92
93 ExtensionOmniboxSuggestion suggestions;
94 suggestions.description.resize(10);
95 EXPECT_TRUE(suggestions.ReadStylesFromValue(styles_value));
96 CompareClassification(styles_expected, suggestions.description_styles);
97
98 // Try moving the "dim/match" style pair at offset 9. Output should be the
99 // same.
100 styles_value.Clear();
101 AppendStyle("url", 0, 5, &styles_value);
102 AppendStyle("match", 0, 4, &styles_value);
103 AppendStyle("dim", 9, 2, &styles_value);
104 AppendStyle("match", 9, 2, &styles_value);
105 AppendStyle("dim", 1, 2, &styles_value);
106 EXPECT_TRUE(suggestions.ReadStylesFromValue(styles_value));
107 CompareClassification(styles_expected, suggestions.description_styles);
108 }
109
110 // 0123456789
111 // uuuuu
112 // + mmmmm
113 // + mmm
114 // + ddd
115 // + ddd
116 // = 77777nnnnn
117 TEST(ExtensionOmniboxTest, DescriptionStylesCombine2) {
118 ListValue styles_value;
119 AppendStyle("url", 0, 5, &styles_value);
120 AppendStyle("match", 0, 5, &styles_value);
121 AppendStyle("match", 0, 3, &styles_value);
122 AppendStyle("dim", 2, 3, &styles_value);
123 AppendStyle("dim", 0, 3, &styles_value);
124
125 ACMatchClassifications styles_expected;
126 styles_expected.push_back(ACMatchClassification(0, kUrl | kMatch | kDim));
127 styles_expected.push_back(ACMatchClassification(5, kNone));
128
129 ExtensionOmniboxSuggestion suggestions;
130 suggestions.description.resize(10);
131 EXPECT_TRUE(suggestions.ReadStylesFromValue(styles_value));
132 CompareClassification(styles_expected, suggestions.description_styles);
133 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_omnibox_apitest.cc ('k') | chrome/chrome_browser_extensions.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698