• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2018 The Chromium Authors
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/metrics/expired_histograms_checker.h"
6 
7 #include "base/metrics/metrics_hashes.h"
8 #include "testing/gtest/include/gtest/gtest.h"
9 
10 namespace metrics {
11 
TEST(ExpiredHistogramsCheckerTests,BasicTest)12 TEST(ExpiredHistogramsCheckerTests, BasicTest) {
13   uint32_t expired_hashes[] = {1, 2, 3};
14   size_t size = 3;
15   std::string allowlist_str = "";
16   ExpiredHistogramsChecker checker(expired_hashes, size, allowlist_str);
17 
18   EXPECT_TRUE(checker.ShouldRecord(0));
19   EXPECT_FALSE(checker.ShouldRecord(3));
20 }
21 
TEST(ExpiredHistogramsCheckerTests,AllowlistTest)22 TEST(ExpiredHistogramsCheckerTests, AllowlistTest) {
23   std::string hist1 = "hist1";
24   std::string hist2 = "hist2";
25   std::string hist3 = "hist3";
26   std::string hist4 = "hist4";
27 
28   uint32_t expired_hashes[] = {base::HashMetricNameAs32Bits(hist1),
29                                base::HashMetricNameAs32Bits(hist2)};
30   size_t size = 2;
31   std::string allowlist_str = hist2 + "," + hist4;
32   ExpiredHistogramsChecker checker(expired_hashes, size, allowlist_str);
33 
34   EXPECT_FALSE(checker.ShouldRecord(base::HashMetricNameAs32Bits(hist1)));
35   EXPECT_TRUE(checker.ShouldRecord(base::HashMetricNameAs32Bits(hist2)));
36   EXPECT_TRUE(checker.ShouldRecord(base::HashMetricNameAs32Bits(hist3)));
37   EXPECT_TRUE(checker.ShouldRecord(base::HashMetricNameAs32Bits(hist4)));
38 }
39 
40 }  // namespace metrics
41