OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "chrome/browser/ui/global_error/global_error_service.h" | 5 #include "chrome/browser/ui/global_error/global_error_service.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "chrome/browser/ui/global_error/global_error.h" | 9 #include "chrome/browser/ui/global_error/global_error.h" |
10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
78 DISALLOW_COPY_AND_ASSIGN(BaseError); | 78 DISALLOW_COPY_AND_ASSIGN(BaseError); |
79 }; | 79 }; |
80 | 80 |
81 int BaseError::count_ = 0; | 81 int BaseError::count_ = 0; |
82 | 82 |
83 // A simple error that only has a badge. | 83 // A simple error that only has a badge. |
84 class BadgeError : public BaseError { | 84 class BadgeError : public BaseError { |
85 public: | 85 public: |
86 explicit BadgeError(int resource_id) : resource_id_(resource_id) {} | 86 explicit BadgeError(int resource_id) : resource_id_(resource_id) {} |
87 bool HasBadge() OVERRIDE { return true; } | 87 bool HasBadge() OVERRIDE { return true; } |
| 88 Severity GetSeverity() OVERRIDE { |
| 89 return static_cast<Severity>(resource_id_); |
| 90 } |
88 virtual int GetBadgeResourceID() OVERRIDE { return resource_id_; } | 91 virtual int GetBadgeResourceID() OVERRIDE { return resource_id_; } |
89 | 92 |
90 private: | 93 private: |
91 int resource_id_; | 94 int resource_id_; |
92 | 95 |
93 DISALLOW_COPY_AND_ASSIGN(BadgeError); | 96 DISALLOW_COPY_AND_ASSIGN(BadgeError); |
94 }; | 97 }; |
95 | 98 |
96 // A simple error that only has a menu item. | 99 // A simple error that only has a menu item. |
97 class MenuError : public BaseError { | 100 class MenuError : public BaseError { |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
166 service.AddGlobalError(error3); | 169 service.AddGlobalError(error3); |
167 | 170 |
168 EXPECT_EQ(error2, service.GetGlobalErrorByMenuItemCommandID(2)); | 171 EXPECT_EQ(error2, service.GetGlobalErrorByMenuItemCommandID(2)); |
169 EXPECT_EQ(error3, service.GetGlobalErrorByMenuItemCommandID(3)); | 172 EXPECT_EQ(error3, service.GetGlobalErrorByMenuItemCommandID(3)); |
170 EXPECT_EQ(NULL, service.GetGlobalErrorByMenuItemCommandID(4)); | 173 EXPECT_EQ(NULL, service.GetGlobalErrorByMenuItemCommandID(4)); |
171 } | 174 } |
172 | 175 |
173 // Test getting the badge icon resource ID of the first error. | 176 // Test getting the badge icon resource ID of the first error. |
174 TEST(GlobalErrorServiceTest, GetBadgeID) { | 177 TEST(GlobalErrorServiceTest, GetBadgeID) { |
175 BaseError* error1 = new BaseError; | 178 BaseError* error1 = new BaseError; |
176 BadgeError error2(2); | 179 BadgeError* error2 = new BadgeError(2); |
177 BadgeError* error3 = new BadgeError(3); | 180 BadgeError* error3 = new BadgeError(3); |
| 181 BadgeError* error4 = new BadgeError(4); |
178 | 182 |
179 GlobalErrorService service(NULL); | 183 GlobalErrorService service(NULL); |
180 EXPECT_EQ(0, service.GetFirstBadgeResourceID()); | 184 EXPECT_EQ(0, service.GetFirstBadgeResourceID()); |
181 | 185 |
182 service.AddGlobalError(error1); | 186 service.AddGlobalError(error1); |
183 EXPECT_EQ(0, service.GetFirstBadgeResourceID()); | 187 EXPECT_EQ(0, service.GetFirstBadgeResourceID()); |
184 | 188 |
185 service.AddGlobalError(&error2); | 189 service.AddGlobalError(error2); |
186 EXPECT_EQ(2, service.GetFirstBadgeResourceID()); | 190 EXPECT_EQ(2, service.GetFirstBadgeResourceID()); |
187 | 191 |
| 192 service.AddGlobalError(error4); |
| 193 EXPECT_EQ(4, service.GetFirstBadgeResourceID()); |
| 194 |
188 service.AddGlobalError(error3); | 195 service.AddGlobalError(error3); |
189 EXPECT_EQ(2, service.GetFirstBadgeResourceID()); | 196 EXPECT_EQ(4, service.GetFirstBadgeResourceID()); |
190 | 197 |
191 // Remove the first error with a badge. | 198 // Remove the highest-severity error with a badge. |
192 service.RemoveGlobalError(&error2); | 199 service.RemoveGlobalError(error4); |
| 200 delete error4; |
| 201 |
193 // Now error3 should be the first error with a badge. | 202 // Now error3 should be the first error with a badge. |
194 EXPECT_EQ(3, service.GetFirstBadgeResourceID()); | 203 EXPECT_EQ(3, service.GetFirstBadgeResourceID()); |
195 } | 204 } |
OLD | NEW |