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

Side by Side Diff: chrome/browser/plugin_exceptions_table_model_unittest.cc

Issue 5621006: Merge PluginGroups for Adobe Reader (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: address comments Created 10 years 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
« no previous file with comments | « chrome/browser/plugin_exceptions_table_model.h ('k') | chrome/browser/plugin_updater.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #include "app/table_model_observer.h" 5 #include "app/table_model_observer.h"
6 #include "base/auto_reset.h" 6 #include "base/auto_reset.h"
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/utf_string_conversions.h" 8 #include "base/utf_string_conversions.h"
9 #include "chrome/browser/mock_plugin_exceptions_table_model.h" 9 #include "chrome/browser/mock_plugin_exceptions_table_model.h"
10 #include "chrome/common/chrome_switches.h" 10 #include "chrome/common/chrome_switches.h"
11 #include "chrome/common/pref_names.h" 11 #include "chrome/common/pref_names.h"
12 #include "chrome/test/testing_pref_service.h" 12 #include "chrome/test/testing_pref_service.h"
13 #include "chrome/test/testing_profile.h" 13 #include "chrome/test/testing_profile.h"
14 #include "testing/gmock/include/gmock/gmock.h" 14 #include "testing/gmock/include/gmock/gmock.h"
15 #include "testing/gtest/include/gtest/gtest.h" 15 #include "testing/gtest/include/gtest/gtest.h"
16 #include "webkit/glue/plugins/plugin_group.h" 16 #include "webkit/glue/plugins/plugin_group.h"
17 #include "webkit/glue/plugins/webplugininfo.h" 17 #include "webkit/glue/plugins/webplugininfo.h"
18 18
19 // Can't be an internal namespace because PluginExceptionsTableModel declares 19 // Can't be an internal namespace because PluginExceptionsTableModel declares
20 // as a friend. 20 // as a friend.
21 namespace plugin_test_internal { 21 namespace plugin_test_internal {
22 22
23 using ::testing::_; 23 using ::testing::_;
24 using ::testing::InSequence;
25 using ::testing::Invoke; 24 using ::testing::Invoke;
26 25
27 class MockTableModelObserver : public TableModelObserver { 26 class MockTableModelObserver : public TableModelObserver {
28 public: 27 public:
29 explicit MockTableModelObserver(TableModel* model) 28 explicit MockTableModelObserver(TableModel* model)
30 : model_(model) { 29 : model_(model) {
31 ON_CALL(*this, OnItemsRemoved(_, _)) 30 ON_CALL(*this, OnItemsRemoved(_, _))
32 .WillByDefault( 31 .WillByDefault(
33 Invoke(this, &MockTableModelObserver::CheckOnItemsRemoved)); 32 Invoke(this, &MockTableModelObserver::CheckOnItemsRemoved));
34 } 33 }
35 34
36 MOCK_METHOD0(OnModelChanged, void()); 35 MOCK_METHOD0(OnModelChanged, void());
37 MOCK_METHOD2(OnItemsChanged, void(int start, int length)); 36 MOCK_METHOD2(OnItemsChanged, void(int start, int length));
38 MOCK_METHOD2(OnItemsAdded, void(int start, int length)); 37 MOCK_METHOD2(OnItemsAdded, void(int start, int length));
39 MOCK_METHOD2(OnItemsRemoved, void(int start, int length)); 38 MOCK_METHOD2(OnItemsRemoved, void(int start, int length));
40 39
41 private: 40 private:
42 void CheckOnItemsRemoved(int start, int length) { 41 void CheckOnItemsRemoved(int start, int length) {
43 if (!model_) 42 if (!model_)
44 return; 43 return;
45 // This method is called *after* the items have been removed, so we check if 44 // This method is called *after* the items have been removed, so we check if
46 // the first removed item was still inside the correct range. 45 // the first removed item was still inside the correct range.
47 EXPECT_LT(start, model_->RowCount() + 1); 46 EXPECT_LT(start, model_->RowCount() + 1);
48 } 47 }
49 48
50 TableModel* model_; 49 TableModel* model_;
51 }; 50 };
52 51
52 } // namespace plugin_test_internal
53
54 using ::testing::InSequence;
55
53 class PluginExceptionsTableModelTest : public testing::Test { 56 class PluginExceptionsTableModelTest : public testing::Test {
54 public: 57 public:
55 PluginExceptionsTableModelTest() 58 PluginExceptionsTableModelTest()
56 : ui_thread_(BrowserThread::UI, &message_loop_), 59 : ui_thread_(BrowserThread::UI, &message_loop_),
57 command_line_(CommandLine::ForCurrentProcess(), 60 command_line_(CommandLine::ForCurrentProcess(),
58 *CommandLine::ForCurrentProcess()) {} 61 *CommandLine::ForCurrentProcess()) {}
59 62
60 virtual void SetUp() { 63 virtual void SetUp() {
61 CommandLine::ForCurrentProcess()->AppendSwitch( 64 CommandLine::ForCurrentProcess()->AppendSwitch(
62 switches::kEnableResourceContentSettings); 65 switches::kEnableResourceContentSettings);
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
147 private: 150 private:
148 AutoReset<CommandLine> command_line_; 151 AutoReset<CommandLine> command_line_;
149 }; 152 };
150 153
151 TEST_F(PluginExceptionsTableModelTest, Basic) { 154 TEST_F(PluginExceptionsTableModelTest, Basic) {
152 EXPECT_EQ(3, table_model_->RowCount()); 155 EXPECT_EQ(3, table_model_->RowCount());
153 CheckInvariants(); 156 CheckInvariants();
154 } 157 }
155 158
156 TEST_F(PluginExceptionsTableModelTest, RemoveOneRow) { 159 TEST_F(PluginExceptionsTableModelTest, RemoveOneRow) {
157 MockTableModelObserver observer(table_model_.get()); 160 plugin_test_internal::MockTableModelObserver observer(table_model_.get());
158 table_model_->SetObserver(&observer); 161 table_model_->SetObserver(&observer);
159 162
160 EXPECT_CALL(observer, OnItemsRemoved(1, 1)); 163 EXPECT_CALL(observer, OnItemsRemoved(1, 1));
161 RemoveRowsTableModel::Rows rows; 164 RemoveRowsTableModel::Rows rows;
162 rows.insert(1); 165 rows.insert(1);
163 table_model_->RemoveRows(rows); 166 table_model_->RemoveRows(rows);
164 EXPECT_EQ(2, table_model_->RowCount()); 167 EXPECT_EQ(2, table_model_->RowCount());
165 EXPECT_EQ(2, static_cast<int>(table_model_->GetGroups().size())); 168 EXPECT_EQ(2, static_cast<int>(table_model_->GetGroups().size()));
166 CheckInvariants(); 169 CheckInvariants();
167 table_model_->SetObserver(NULL); 170 table_model_->SetObserver(NULL);
168 } 171 }
169 172
170 TEST_F(PluginExceptionsTableModelTest, RemoveLastRowInGroup) { 173 TEST_F(PluginExceptionsTableModelTest, RemoveLastRowInGroup) {
171 MockTableModelObserver observer(table_model_.get()); 174 plugin_test_internal::MockTableModelObserver observer(table_model_.get());
172 table_model_->SetObserver(&observer); 175 table_model_->SetObserver(&observer);
173 176
174 EXPECT_CALL(observer, OnModelChanged()); 177 EXPECT_CALL(observer, OnModelChanged());
175 RemoveRowsTableModel::Rows rows; 178 RemoveRowsTableModel::Rows rows;
176 rows.insert(0); 179 rows.insert(0);
177 table_model_->RemoveRows(rows); 180 table_model_->RemoveRows(rows);
178 EXPECT_EQ(2, table_model_->RowCount()); 181 EXPECT_EQ(2, table_model_->RowCount());
179 EXPECT_EQ(1, static_cast<int>(table_model_->GetGroups().size())); 182 EXPECT_EQ(1, static_cast<int>(table_model_->GetGroups().size()));
180 CheckInvariants(); 183 CheckInvariants();
181 184
(...skipping 13 matching lines...) Expand all
195 rows.insert(2); 198 rows.insert(2);
196 table_model_->RemoveRows(rows); 199 table_model_->RemoveRows(rows);
197 EXPECT_EQ(1, table_model_->RowCount()); 200 EXPECT_EQ(1, table_model_->RowCount());
198 EXPECT_EQ(1, static_cast<int>(table_model_->GetGroups().size())); 201 EXPECT_EQ(1, static_cast<int>(table_model_->GetGroups().size()));
199 CheckInvariants(); 202 CheckInvariants();
200 203
201 table_model_->SetObserver(NULL); 204 table_model_->SetObserver(NULL);
202 } 205 }
203 206
204 TEST_F(PluginExceptionsTableModelTest, RemoveAllRows) { 207 TEST_F(PluginExceptionsTableModelTest, RemoveAllRows) {
205 MockTableModelObserver observer(table_model_.get()); 208 plugin_test_internal::MockTableModelObserver observer(table_model_.get());
206 table_model_->SetObserver(&observer); 209 table_model_->SetObserver(&observer);
207 210
208 EXPECT_CALL(observer, OnModelChanged()); 211 EXPECT_CALL(observer, OnModelChanged());
209 table_model_->RemoveAll(); 212 table_model_->RemoveAll();
210 EXPECT_EQ(0, table_model_->RowCount()); 213 EXPECT_EQ(0, table_model_->RowCount());
211 EXPECT_EQ(0, static_cast<int>(table_model_->GetGroups().size())); 214 EXPECT_EQ(0, static_cast<int>(table_model_->GetGroups().size()));
212 CheckInvariants(); 215 CheckInvariants();
213 table_model_->SetObserver(NULL); 216 table_model_->SetObserver(NULL);
214 } 217 }
215
216 } // namespace plugin_test_internal
OLDNEW
« no previous file with comments | « chrome/browser/plugin_exceptions_table_model.h ('k') | chrome/browser/plugin_updater.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698