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

Side by Side Diff: extensions/browser/error_map_unittest.cc

Issue 1016413004: [Extensions] Update Error Console UI (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "extensions/browser/error_map.h" 5 #include "extensions/browser/error_map.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 "base/strings/string_number_conversions.h" 9 #include "base/strings/string_number_conversions.h"
10 #include "components/crx_file/id_util.h" 10 #include "components/crx_file/id_util.h"
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 } 44 }
45 45
46 // There should only be one entry in the map, since errors are stored in lists 46 // There should only be one entry in the map, since errors are stored in lists
47 // keyed by extension id. 47 // keyed by extension id.
48 EXPECT_EQ(1u, errors_.size()); 48 EXPECT_EQ(1u, errors_.size());
49 49
50 EXPECT_EQ(kNumTotalErrors, errors_.GetErrorsForExtension(kId).size()); 50 EXPECT_EQ(kNumTotalErrors, errors_.GetErrorsForExtension(kId).size());
51 51
52 // Remove the incognito errors; three errors should remain, and all should 52 // Remove the incognito errors; three errors should remain, and all should
53 // be from non-incognito contexts. 53 // be from non-incognito contexts.
54 errors_.RemoveErrors(ErrorMap::Filter::IncognitoErrors()); 54 std::set<std::string> affected_ids;
55 errors_.RemoveErrors(ErrorMap::Filter::IncognitoErrors(), &affected_ids);
55 const ErrorList& list = errors_.GetErrorsForExtension(kId); 56 const ErrorList& list = errors_.GetErrorsForExtension(kId);
56 EXPECT_EQ(kNumNonIncognitoErrors, list.size()); 57 EXPECT_EQ(kNumNonIncognitoErrors, list.size());
57 for (size_t i = 0; i < list.size(); ++i) 58 for (size_t i = 0; i < list.size(); ++i)
58 EXPECT_FALSE(list[i]->from_incognito()); 59 EXPECT_FALSE(list[i]->from_incognito());
60 EXPECT_EQ(1u, affected_ids.size());
61 EXPECT_TRUE(affected_ids.count(kId));
59 62
60 // Add another error for a different extension id. 63 // Add another error for a different extension id.
61 const std::string kSecondId = crx_file::id_util::GenerateId("id2"); 64 const std::string kSecondId = crx_file::id_util::GenerateId("id2");
62 EXPECT_TRUE(errors_.AddError(CreateNewRuntimeError(kSecondId, "foo"))); 65 EXPECT_TRUE(errors_.AddError(CreateNewRuntimeError(kSecondId, "foo")));
63 66
64 // There should be two entries now, one for each id, and there should be one 67 // There should be two entries now, one for each id, and there should be one
65 // error for the second extension. 68 // error for the second extension.
66 EXPECT_EQ(2u, errors_.size()); 69 EXPECT_EQ(2u, errors_.size());
67 EXPECT_EQ(1u, errors_.GetErrorsForExtension(kSecondId).size()); 70 EXPECT_EQ(1u, errors_.GetErrorsForExtension(kSecondId).size());
68 71
69 // Remove all errors for the second id. 72 // Remove all errors for the second id.
70 errors_.RemoveErrors(ErrorMap::Filter::ErrorsForExtension(kSecondId)); 73 affected_ids.clear();
74 errors_.RemoveErrors(ErrorMap::Filter::ErrorsForExtension(kSecondId),
75 &affected_ids);
71 EXPECT_EQ(0u, errors_.GetErrorsForExtension(kSecondId).size()); 76 EXPECT_EQ(0u, errors_.GetErrorsForExtension(kSecondId).size());
72 // First extension should be unaffected. 77 // First extension should be unaffected.
73 EXPECT_EQ(kNumNonIncognitoErrors, errors_.GetErrorsForExtension(kId).size()); 78 EXPECT_EQ(kNumNonIncognitoErrors, errors_.GetErrorsForExtension(kId).size());
79 EXPECT_EQ(1u, affected_ids.size());
80 EXPECT_TRUE(affected_ids.count(kSecondId));
74 81
75 errors_.AddError(CreateNewManifestError(kId, "manifest error")); 82 errors_.AddError(CreateNewManifestError(kId, "manifest error"));
76 EXPECT_EQ(kNumNonIncognitoErrors + 1, 83 EXPECT_EQ(kNumNonIncognitoErrors + 1,
77 errors_.GetErrorsForExtension(kId).size()); 84 errors_.GetErrorsForExtension(kId).size());
78 errors_.RemoveErrors(ErrorMap::Filter::ErrorsForExtensionWithType( 85 errors_.RemoveErrors(ErrorMap::Filter::ErrorsForExtensionWithType(
79 kId, ExtensionError::MANIFEST_ERROR)); 86 kId, ExtensionError::MANIFEST_ERROR), nullptr);
80 EXPECT_EQ(kNumNonIncognitoErrors, errors_.GetErrorsForExtension(kId).size()); 87 EXPECT_EQ(kNumNonIncognitoErrors, errors_.GetErrorsForExtension(kId).size());
81 88
82 const ExtensionError* added_error = 89 const ExtensionError* added_error =
83 errors_.AddError(CreateNewManifestError(kId, "manifest error2")); 90 errors_.AddError(CreateNewManifestError(kId, "manifest error2"));
84 EXPECT_EQ(kNumNonIncognitoErrors + 1, 91 EXPECT_EQ(kNumNonIncognitoErrors + 1,
85 errors_.GetErrorsForExtension(kId).size()); 92 errors_.GetErrorsForExtension(kId).size());
86 std::set<int> ids; 93 std::set<int> ids;
87 ids.insert(added_error->id()); 94 ids.insert(added_error->id());
88 errors_.RemoveErrors(ErrorMap::Filter::ErrorsForExtensionWithIds(kId, ids)); 95 errors_.RemoveErrors(ErrorMap::Filter::ErrorsForExtensionWithIds(kId, ids),
96 nullptr);
89 EXPECT_EQ(kNumNonIncognitoErrors, errors_.GetErrorsForExtension(kId).size()); 97 EXPECT_EQ(kNumNonIncognitoErrors, errors_.GetErrorsForExtension(kId).size());
90 98
91 // Remove remaining errors. 99 // Remove remaining errors.
92 errors_.RemoveAllErrors(); 100 errors_.RemoveAllErrors();
93 EXPECT_EQ(0u, errors_.size()); 101 EXPECT_EQ(0u, errors_.size());
94 EXPECT_EQ(0u, errors_.GetErrorsForExtension(kId).size()); 102 EXPECT_EQ(0u, errors_.GetErrorsForExtension(kId).size());
95 } 103 }
96 104
97 // Test that if we add enough errors, only the most recent 105 // Test that if we add enough errors, only the most recent
98 // kMaxErrorsPerExtension are kept. 106 // kMaxErrorsPerExtension are kept.
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 const ErrorList& list = errors_.GetErrorsForExtension(kId); 159 const ErrorList& list = errors_.GetErrorsForExtension(kId);
152 ASSERT_EQ(kNumErrors, list.size()); 160 ASSERT_EQ(kNumErrors, list.size());
153 161
154 // The duplicate error should be the last reported (pointer comparison)... 162 // The duplicate error should be the last reported (pointer comparison)...
155 ASSERT_EQ(weak_error, list.back()); 163 ASSERT_EQ(weak_error, list.back());
156 // ... and should have two reported occurrences. 164 // ... and should have two reported occurrences.
157 ASSERT_EQ(2u, list.back()->occurrences()); 165 ASSERT_EQ(2u, list.back()->occurrences());
158 } 166 }
159 167
160 } // namespace extensions 168 } // namespace extensions
OLDNEW
« no previous file with comments | « extensions/browser/error_map.cc ('k') | third_party/closure_compiler/externs/developer_private.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698