OLD | NEW |
(Empty) | |
| 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 |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #include "components/power/origin_power_map.h" |
| 6 |
| 7 #include "testing/gtest/include/gtest/gtest.h" |
| 8 |
| 9 namespace power { |
| 10 |
| 11 TEST(OriginPowerMapTest, StartEmpty) { |
| 12 OriginPowerMap origin_power_map; |
| 13 EXPECT_EQ(size_t(0), origin_power_map.GetPercentOriginMap().size()); |
| 14 } |
| 15 |
| 16 TEST(OriginPowerMapTest, AddOneOriginNotInMap) { |
| 17 OriginPowerMap origin_power_map; |
| 18 GURL url("http://www.google.com"); |
| 19 EXPECT_EQ(0, origin_power_map.GetPowerForOrigin(url)); |
| 20 origin_power_map.AddPowerForOrigin(url, 10); |
| 21 EXPECT_EQ(size_t(1), origin_power_map.GetPercentOriginMap().size()); |
| 22 EXPECT_EQ(100, origin_power_map.GetPowerForOrigin(url)); |
| 23 } |
| 24 |
| 25 TEST(OriginPowerMapTest, AddMultiplesOrigins) { |
| 26 OriginPowerMap origin_power_map; |
| 27 GURL url1("http://www.google.com"); |
| 28 EXPECT_EQ(0, origin_power_map.GetPowerForOrigin(url1)); |
| 29 origin_power_map.AddPowerForOrigin(url1, 10); |
| 30 EXPECT_EQ(size_t(1), origin_power_map.GetPercentOriginMap().size()); |
| 31 EXPECT_EQ(100, origin_power_map.GetPowerForOrigin(url1)); |
| 32 |
| 33 GURL url2("http://www.example.com"); |
| 34 origin_power_map.AddPowerForOrigin(url2, 30); |
| 35 EXPECT_EQ(25, origin_power_map.GetPowerForOrigin(url1)); |
| 36 EXPECT_EQ(75, origin_power_map.GetPowerForOrigin(url2)); |
| 37 origin_power_map.AddPowerForOrigin(url2, 10); |
| 38 EXPECT_EQ(20, origin_power_map.GetPowerForOrigin(url1)); |
| 39 EXPECT_EQ(80, origin_power_map.GetPowerForOrigin(url2)); |
| 40 |
| 41 GURL url3("https://www.google.com"); |
| 42 origin_power_map.AddPowerForOrigin(url3, 50); |
| 43 EXPECT_EQ(10, origin_power_map.GetPowerForOrigin(url1)); |
| 44 EXPECT_EQ(40, origin_power_map.GetPowerForOrigin(url2)); |
| 45 EXPECT_EQ(50, origin_power_map.GetPowerForOrigin(url3)); |
| 46 } |
| 47 |
| 48 TEST(OriginPowerMapTest, PercentOriginMap) { |
| 49 OriginPowerMap origin_power_map; |
| 50 GURL url1("http://www.google.com"); |
| 51 GURL url2("http://www.example.com"); |
| 52 origin_power_map.AddPowerForOrigin(url1, 10); |
| 53 origin_power_map.AddPowerForOrigin(url2, 40); |
| 54 OriginPowerMap::PercentOriginMap origin_map = |
| 55 origin_power_map.GetPercentOriginMap(); |
| 56 EXPECT_EQ(20, origin_map.find(url1)->second); |
| 57 EXPECT_EQ(80, origin_map.find(url2)->second); |
| 58 } |
| 59 |
| 60 TEST(OriginPowerMapTest, EmptyPercentOriginMapWhenZeroConsumed) { |
| 61 OriginPowerMap origin_power_map; |
| 62 EXPECT_EQ(size_t(0), origin_power_map.GetPercentOriginMap().size()); |
| 63 GURL url("http://www.google.com"); |
| 64 origin_power_map.AddPowerForOrigin(url, 0); |
| 65 EXPECT_EQ(size_t(0), origin_power_map.GetPercentOriginMap().size()); |
| 66 } |
| 67 |
| 68 } // namespace power |
OLD | NEW |