OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <list> | 5 #include <list> |
6 | 6 |
| 7 #include "chrome/common/chrome_content_settings_client.h" |
7 #include "chrome/common/content_settings_pattern.h" | 8 #include "chrome/common/content_settings_pattern.h" |
8 #include "chrome/browser/content_settings/content_settings_rule.h" | 9 #include "chrome/browser/content_settings/content_settings_rule.h" |
9 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
10 | 11 |
11 namespace content_settings { | 12 namespace content_settings { |
12 | 13 |
13 namespace { | 14 namespace { |
14 | 15 |
15 class ListIterator : public RuleIterator { | 16 class ListIterator : public RuleIterator { |
16 public: | 17 public: |
(...skipping 16 matching lines...) Expand all Loading... |
33 } | 34 } |
34 | 35 |
35 private: | 36 private: |
36 std::list<Rule> rules_; | 37 std::list<Rule> rules_; |
37 }; | 38 }; |
38 | 39 |
39 } // namespace | 40 } // namespace |
40 | 41 |
41 TEST(RuleTest, ConcatenationIterator) { | 42 TEST(RuleTest, ConcatenationIterator) { |
42 std::list<Rule> rules1; | 43 std::list<Rule> rules1; |
43 rules1.push_back(Rule(ContentSettingsPattern::FromString("a"), | 44 content_settings::ChromeContentSettingsClient client; |
| 45 rules1.push_back(Rule(ContentSettingsPattern::FromString(&client, "a"), |
44 ContentSettingsPattern::Wildcard(), | 46 ContentSettingsPattern::Wildcard(), |
45 new base::FundamentalValue(0))); | 47 new base::FundamentalValue(0))); |
46 rules1.push_back(Rule(ContentSettingsPattern::FromString("b"), | 48 rules1.push_back(Rule(ContentSettingsPattern::FromString(&client, "b"), |
47 ContentSettingsPattern::Wildcard(), | 49 ContentSettingsPattern::Wildcard(), |
48 new base::FundamentalValue(0))); | 50 new base::FundamentalValue(0))); |
49 std::list<Rule> rules2; | 51 std::list<Rule> rules2; |
50 rules2.push_back(Rule(ContentSettingsPattern::FromString("c"), | 52 rules2.push_back(Rule(ContentSettingsPattern::FromString(&client, "c"), |
51 ContentSettingsPattern::Wildcard(), | 53 ContentSettingsPattern::Wildcard(), |
52 new base::FundamentalValue(0))); | 54 new base::FundamentalValue(0))); |
53 rules2.push_back(Rule(ContentSettingsPattern::FromString("d"), | 55 rules2.push_back(Rule(ContentSettingsPattern::FromString(&client, "d"), |
54 ContentSettingsPattern::Wildcard(), | 56 ContentSettingsPattern::Wildcard(), |
55 new base::FundamentalValue(0))); | 57 new base::FundamentalValue(0))); |
56 | 58 |
57 ScopedVector<RuleIterator> iterators; | 59 ScopedVector<RuleIterator> iterators; |
58 iterators.push_back(new ListIterator(rules1)); | 60 iterators.push_back(new ListIterator(rules1)); |
59 iterators.push_back(new ListIterator(rules2)); | 61 iterators.push_back(new ListIterator(rules2)); |
60 ConcatenationIterator concatenation_iterator(&iterators, NULL); | 62 ConcatenationIterator concatenation_iterator(&iterators, NULL); |
61 | 63 |
62 Rule rule; | 64 Rule rule; |
63 ASSERT_TRUE(concatenation_iterator.HasNext()); | 65 ASSERT_TRUE(concatenation_iterator.HasNext()); |
64 rule = concatenation_iterator.Next(); | 66 rule = concatenation_iterator.Next(); |
65 EXPECT_EQ(rule.primary_pattern, ContentSettingsPattern::FromString("a")); | 67 EXPECT_EQ(rule.primary_pattern, ContentSettingsPattern::FromString(&client, |
| 68 "a")); |
66 | 69 |
67 ASSERT_TRUE(concatenation_iterator.HasNext()); | 70 ASSERT_TRUE(concatenation_iterator.HasNext()); |
68 rule = concatenation_iterator.Next(); | 71 rule = concatenation_iterator.Next(); |
69 EXPECT_EQ(rule.primary_pattern, ContentSettingsPattern::FromString("b")); | 72 EXPECT_EQ(rule.primary_pattern, ContentSettingsPattern::FromString(&client, |
| 73 "b")); |
70 | 74 |
71 ASSERT_TRUE(concatenation_iterator.HasNext()); | 75 ASSERT_TRUE(concatenation_iterator.HasNext()); |
72 rule = concatenation_iterator.Next(); | 76 rule = concatenation_iterator.Next(); |
73 EXPECT_EQ(rule.primary_pattern, ContentSettingsPattern::FromString("c")); | 77 EXPECT_EQ(rule.primary_pattern, ContentSettingsPattern::FromString(&client, |
| 78 "c")); |
74 | 79 |
75 ASSERT_TRUE(concatenation_iterator.HasNext()); | 80 ASSERT_TRUE(concatenation_iterator.HasNext()); |
76 rule = concatenation_iterator.Next(); | 81 rule = concatenation_iterator.Next(); |
77 EXPECT_EQ(rule.primary_pattern, ContentSettingsPattern::FromString("d")); | 82 EXPECT_EQ(rule.primary_pattern, ContentSettingsPattern::FromString(&client, |
| 83 "d")); |
78 | 84 |
79 EXPECT_FALSE(concatenation_iterator.HasNext()); | 85 EXPECT_FALSE(concatenation_iterator.HasNext()); |
80 } | 86 } |
81 | 87 |
82 } // namespace content_settings | 88 } // namespace content_settings |
OLD | NEW |