Index: chrome/browser/power/origin_power_map_unittest.cc |
diff --git a/chrome/browser/power/origin_power_map_unittest.cc b/chrome/browser/power/origin_power_map_unittest.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..1580966d7d04e07019c18196195786c66eaa972b |
--- /dev/null |
+++ b/chrome/browser/power/origin_power_map_unittest.cc |
@@ -0,0 +1,56 @@ |
+// Copyright 2014 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "chrome/browser/power/origin_power_map.h" |
+ |
+#include "testing/gtest/include/gtest/gtest.h" |
+ |
+TEST(OriginPowerMapTest, StartEmpty) { |
+ OriginPowerMap origin_power_map; |
+ EXPECT_EQ(size_t(0), origin_power_map.GetPercentOriginMap()->size()); |
+} |
+ |
+TEST(OriginPowerMapTest, AddOneOriginNotInMap) { |
+ OriginPowerMap origin_power_map; |
+ GURL url("http://www.google.com"); |
+ EXPECT_EQ(0, origin_power_map.GetPowerForOrigin(url)); |
+ origin_power_map.AddPowerForOrigin(url, 10); |
+ EXPECT_EQ(size_t(1), origin_power_map.GetPercentOriginMap()->size()); |
+ EXPECT_EQ(100, origin_power_map.GetPowerForOrigin(url)); |
+} |
+ |
+TEST(OriginPowerMapTest, AddMultiplesOrigins) { |
+ OriginPowerMap origin_power_map; |
+ GURL url1("http://www.google.com"); |
+ EXPECT_EQ(0, origin_power_map.GetPowerForOrigin(url1)); |
+ origin_power_map.AddPowerForOrigin(url1, 10); |
+ EXPECT_EQ(size_t(1), origin_power_map.GetPercentOriginMap()->size()); |
+ EXPECT_EQ(100, origin_power_map.GetPowerForOrigin(url1)); |
+ |
+ GURL url2("http://www.example.com"); |
+ origin_power_map.AddPowerForOrigin(url2, 30); |
+ EXPECT_EQ(25, origin_power_map.GetPowerForOrigin(url1)); |
+ EXPECT_EQ(75, origin_power_map.GetPowerForOrigin(url2)); |
+ origin_power_map.AddPowerForOrigin(url2, 10); |
+ EXPECT_EQ(20, origin_power_map.GetPowerForOrigin(url1)); |
+ EXPECT_EQ(80, origin_power_map.GetPowerForOrigin(url2)); |
+ |
+ GURL url3("https://www.google.com"); |
+ origin_power_map.AddPowerForOrigin(url3, 50); |
+ EXPECT_EQ(10, origin_power_map.GetPowerForOrigin(url1)); |
+ EXPECT_EQ(40, origin_power_map.GetPowerForOrigin(url2)); |
+ EXPECT_EQ(50, origin_power_map.GetPowerForOrigin(url3)); |
+} |
+ |
+TEST(OriginPowerMapTest, PercentOriginMap) { |
+ OriginPowerMap origin_power_map; |
+ GURL url1("http://www.google.com"); |
+ GURL url2("http://www.example.com"); |
+ origin_power_map.AddPowerForOrigin(url1, 10); |
+ origin_power_map.AddPowerForOrigin(url2, 40); |
+ scoped_ptr<OriginPowerMap::PercentOriginMap> origin_map = |
+ origin_power_map.GetPercentOriginMap(); |
+ EXPECT_EQ(20, origin_map->find(url1)->second); |
+ EXPECT_EQ(80, origin_map->find(url2)->second); |
+} |