Avi Drissman | 8ba1bad | 2022-09-13 19:22:36 | [diff] [blame] | 1 | // Copyright 2019 The Chromium Authors |
Jesse McKenna | 855ae266 | 2021-04-23 00:26:20 | [diff] [blame] | 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/breadcrumbs/core/breadcrumb_manager_keyed_service.h" |
| 6 | |
Jesse McKenna | 558ca95 | 2022-09-20 23:49:55 | [diff] [blame] | 7 | #include "components/breadcrumbs/core/breadcrumb_manager.h" |
Jesse McKenna | 855ae266 | 2021-04-23 00:26:20 | [diff] [blame] | 8 | #include "testing/gtest/include/gtest/gtest.h" |
| 9 | #include "testing/platform_test.h" |
| 10 | |
| 11 | namespace breadcrumbs { |
| 12 | |
| 13 | // Test fixture for testing BreadcrumbManagerKeyedService class. |
| 14 | typedef PlatformTest BreadcrumbManagerKeyedServiceTest; |
| 15 | |
| 16 | // Tests that events logged to Normal and OffTheRecord BrowserStates are |
| 17 | // separately identifiable. |
| 18 | TEST_F(BreadcrumbManagerKeyedServiceTest, EventsLabeledWithBrowserState) { |
| 19 | std::unique_ptr<BreadcrumbManagerKeyedService> breadcrumb_manager_service = |
| 20 | std::make_unique<BreadcrumbManagerKeyedService>( |
| 21 | /*is_off_the_record=*/false); |
| 22 | breadcrumb_manager_service->AddEvent("event"); |
| 23 | |
Jesse McKenna | ab2ad64 | 2022-10-05 17:35:46 | [diff] [blame] | 24 | const std::string event = |
| 25 | BreadcrumbManager::GetInstance().GetEvents().front(); |
Jesse McKenna | 855ae266 | 2021-04-23 00:26:20 | [diff] [blame] | 26 | |
Jesse McKenna | 558ca95 | 2022-09-20 23:49:55 | [diff] [blame] | 27 | BreadcrumbManager::GetInstance().ResetForTesting(); |
| 28 | |
Jesse McKenna | 855ae266 | 2021-04-23 00:26:20 | [diff] [blame] | 29 | std::unique_ptr<BreadcrumbManagerKeyedService> |
| 30 | otr_breadcrumb_manager_service = |
| 31 | std::make_unique<BreadcrumbManagerKeyedService>( |
| 32 | /*is_off_the_record=*/true); |
| 33 | otr_breadcrumb_manager_service->AddEvent("event"); |
| 34 | |
Jesse McKenna | b0ed2b6d | 2021-06-08 18:04:07 | [diff] [blame] | 35 | const std::string off_the_record_event = |
Jesse McKenna | ab2ad64 | 2022-10-05 17:35:46 | [diff] [blame] | 36 | BreadcrumbManager::GetInstance().GetEvents().front(); |
Jesse McKenna | 855ae266 | 2021-04-23 00:26:20 | [diff] [blame] | 37 | // Event should indicate it was logged from an off-the-record "Incognito" |
| 38 | // browser state. |
| 39 | EXPECT_NE(std::string::npos, off_the_record_event.find(" I ")); |
| 40 | |
| 41 | EXPECT_STRNE(event.c_str(), off_the_record_event.c_str()); |
| 42 | } |
| 43 | |
| 44 | } // namespace breadcrumbs |