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

Side by Side Diff: components/offline_pages/offline_page_model_event_logger_unittest.cc

Issue 2089413002: [Offline Pages] Create a event/activity logger (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 5 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
(Empty)
1 // Copyright 2016 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 "components/offline_pages/offline_page_model_event_logger.h"
6
7 #include "testing/gtest/include/gtest/gtest.h"
8
9 namespace offline_pages {
10
11 namespace {
12
13 const char kNamespace[] = "last_n";
14 const char kUrl[] = "http://www.wikipedia.org";
15 const char kOfflineId[] = "foobar";
16 const int kTimeLength = 21;
17 const char kPageSaved[] =
18 "http://www.wikipedia.org is saved at last_n with id foobar";
19 const char kPageDeleted[] = "Page with ID foobar has been deleted";
20 const char kRecordStoreClearError[] = "Offline store clear failed";
21 const char kRecordStoreCleared[] = "Offline store cleared";
22 const char kRecordStoreReloadError[] =
23 "There was an error reloading the offline store";
24
25 } // namespace
26
27 TEST(OfflinePageModelEventLoggerTest, RecordsWhenLoggingIsOn) {
28 OfflinePageModelEventLogger logger;
29 std::vector<std::string> log;
30
31 logger.SetIsLogging(true);
32 logger.RecordStoreCleared();
33 logger.RecordPageSaved(kNamespace, kUrl, kOfflineId);
34 logger.RecordPageDeleted(kOfflineId);
35 logger.RecordStoreClearError();
36 logger.RecordStoreReloadError();
37 logger.GetLogs(&log);
38
39 EXPECT_EQ(5u, log.size());
40 EXPECT_EQ(std::string(kRecordStoreCleared), log[4].substr(kTimeLength));
41 EXPECT_EQ(std::string(kPageSaved), log[3].substr(kTimeLength));
42 EXPECT_EQ(std::string(kPageDeleted), log[2].substr(kTimeLength));
43 EXPECT_EQ(std::string(kRecordStoreClearError), log[1].substr(kTimeLength));
44 EXPECT_EQ(std::string(kRecordStoreReloadError), log[0].substr(kTimeLength));
45 }
46
47 TEST(OfflinePageModelEventLoggerTest, DoesNotRecordWhenLoggingIsOff) {
48 OfflinePageModelEventLogger logger;
49 std::vector<std::string> log;
50
51 logger.SetIsLogging(false);
52 logger.RecordStoreCleared();
53 logger.RecordPageSaved(kNamespace, kUrl, kOfflineId);
54 logger.RecordPageDeleted(kOfflineId);
55 logger.RecordStoreClearError();
56 logger.RecordStoreReloadError();
57 logger.GetLogs(&log);
58
59 EXPECT_EQ(0u, log.size());
60 }
61
62 TEST(OfflinePageModelEventLoggerTest, DoesNotExceedMaxSize) {
63 OfflinePageModelEventLogger logger;
64 std::vector<std::string> log;
65
66 logger.SetIsLogging(true);
67 for (size_t i = 0; i < kMaxLogCount + 1; ++i) {
68 logger.RecordStoreCleared();
69 }
70 logger.GetLogs(&log);
71
72 EXPECT_EQ(kMaxLogCount, log.size());
73 }
74
75 } // namespace offline_internals
OLDNEW
« no previous file with comments | « components/offline_pages/offline_page_model_event_logger.cc ('k') | components/offline_pages/offline_page_model_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698