| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "chrome/browser/media/router/issue.h" | 5 #include "chrome/browser/media/router/issue.h" |
| 6 #include "chrome/grit/generated_resources.h" | 6 #include "chrome/grit/generated_resources.h" |
| 7 #include "testing/gmock/include/gmock/gmock.h" | 7 #include "testing/gmock/include/gmock/gmock.h" |
| 8 #include "ui/base/l10n/l10n_util.h" | 8 #include "ui/base/l10n/l10n_util.h" |
| 9 | 9 |
| 10 namespace media_router { | 10 namespace media_router { |
| 11 | 11 |
| 12 // Checks static IssueAction factory method. | 12 namespace { |
| 13 TEST(IssueUnitTest, IssueActionConstructor) { | |
| 14 // Pre-defined "Dismiss" issue action. | |
| 15 IssueAction action1(IssueAction::TYPE_DISMISS); | |
| 16 EXPECT_EQ(IssueAction::TYPE_DISMISS, action1.type()); | |
| 17 | 13 |
| 18 // Pre-defined "Learn More" issue action. | 14 Issue CreateWarningIssue(Issue::ActionType action_type) { |
| 19 IssueAction action2(IssueAction::TYPE_LEARN_MORE); | 15 Issue issue("title", action_type, Issue::Severity::WARNING); |
| 20 EXPECT_EQ(IssueAction::TYPE_LEARN_MORE, action2.type()); | 16 issue.set_message("message"); |
| 17 issue.set_help_page_id(12345); |
| 18 return issue; |
| 21 } | 19 } |
| 22 | 20 |
| 23 // Tests custom Issue factory method without any secondary actions. | 21 Issue CreateFatalRouteIssueWithMessage(Issue::ActionType action_type) { |
| 22 Issue issue("title", action_type, Issue::Severity::FATAL); |
| 23 issue.set_message("message"); |
| 24 issue.set_route_id("routeid"); |
| 25 issue.set_help_page_id(12345); |
| 26 return issue; |
| 27 } |
| 28 |
| 29 Issue CreateFatalRouteIssue(Issue::ActionType action_type) { |
| 30 Issue issue("title", action_type, Issue::Severity::FATAL); |
| 31 issue.set_route_id("routeid"); |
| 32 issue.set_help_page_id(12345); |
| 33 return issue; |
| 34 } |
| 35 |
| 36 } // namespace |
| 37 |
| 38 // Tests Issues without any secondary actions. |
| 24 TEST(IssueUnitTest, CustomIssueConstructionWithNoSecondaryActions) { | 39 TEST(IssueUnitTest, CustomIssueConstructionWithNoSecondaryActions) { |
| 25 std::vector<IssueAction> secondary_actions; | 40 Issue issue1 = CreateWarningIssue(Issue::ActionType::DISMISS); |
| 26 std::string title = "title"; | |
| 27 std::string message = "message"; | |
| 28 | 41 |
| 29 Issue issue1(title, message, IssueAction(IssueAction::TYPE_DISMISS), | 42 EXPECT_EQ("title", issue1.title()); |
| 30 secondary_actions, "", Issue::WARNING, false, | 43 EXPECT_EQ("message", issue1.message()); |
| 31 12345); | 44 EXPECT_EQ(Issue::ActionType::DISMISS, issue1.default_action()); |
| 32 | |
| 33 EXPECT_EQ(title, issue1.title()); | |
| 34 EXPECT_EQ(message, issue1.message()); | |
| 35 EXPECT_EQ(IssueAction::TYPE_DISMISS, issue1.default_action().type()); | |
| 36 EXPECT_TRUE(issue1.secondary_actions().empty()); | 45 EXPECT_TRUE(issue1.secondary_actions().empty()); |
| 37 EXPECT_EQ(Issue::WARNING, issue1.severity()); | 46 EXPECT_EQ(Issue::Severity::WARNING, issue1.severity()); |
| 38 EXPECT_EQ("", issue1.route_id()); | 47 EXPECT_EQ("", issue1.route_id()); |
| 39 EXPECT_TRUE(issue1.is_global()); | 48 EXPECT_TRUE(issue1.IsGlobal()); |
| 40 EXPECT_FALSE(issue1.is_blocking()); | 49 EXPECT_FALSE(issue1.IsBlocking()); |
| 41 EXPECT_EQ(12345, issue1.help_page_id()); | 50 EXPECT_EQ(12345, issue1.help_page_id()); |
| 42 | 51 |
| 43 Issue issue2(title, message, IssueAction(IssueAction::TYPE_DISMISS), | 52 Issue issue2 = CreateFatalRouteIssueWithMessage(Issue::ActionType::DISMISS); |
| 44 secondary_actions, "routeid", Issue::FATAL, true, | |
| 45 12345); | |
| 46 | 53 |
| 47 EXPECT_EQ(title, issue2.title()); | 54 EXPECT_EQ("title", issue2.title()); |
| 48 EXPECT_EQ(message, issue2.message()); | 55 EXPECT_EQ("message", issue2.message()); |
| 49 EXPECT_EQ(IssueAction::TYPE_DISMISS, issue1.default_action().type()); | 56 EXPECT_EQ(Issue::ActionType::DISMISS, issue1.default_action()); |
| 50 EXPECT_TRUE(issue2.secondary_actions().empty()); | 57 EXPECT_TRUE(issue2.secondary_actions().empty()); |
| 51 EXPECT_EQ(Issue::FATAL, issue2.severity()); | 58 EXPECT_EQ(Issue::Severity::FATAL, issue2.severity()); |
| 52 EXPECT_EQ("routeid", issue2.route_id()); | 59 EXPECT_EQ("routeid", issue2.route_id()); |
| 53 EXPECT_FALSE(issue2.is_global()); | 60 EXPECT_FALSE(issue2.IsGlobal()); |
| 54 EXPECT_TRUE(issue2.is_blocking()); | 61 EXPECT_TRUE(issue2.IsBlocking()); |
| 55 EXPECT_EQ(12345, issue1.help_page_id()); | 62 EXPECT_EQ(12345, issue2.help_page_id()); |
| 56 | 63 |
| 57 Issue issue3(title, "", IssueAction(IssueAction::TYPE_DISMISS), | 64 Issue issue3 = CreateFatalRouteIssue(Issue::ActionType::DISMISS); |
| 58 secondary_actions, "routeid", Issue::FATAL, true, | |
| 59 12345); | |
| 60 | 65 |
| 61 EXPECT_EQ(title, issue3.title()); | 66 EXPECT_EQ("title", issue3.title()); |
| 62 EXPECT_EQ("", issue3.message()); | 67 EXPECT_EQ("", issue3.message()); |
| 63 EXPECT_EQ(IssueAction::TYPE_DISMISS, issue1.default_action().type()); | 68 EXPECT_EQ(Issue::ActionType::DISMISS, issue1.default_action()); |
| 64 EXPECT_TRUE(issue3.secondary_actions().empty()); | 69 EXPECT_TRUE(issue3.secondary_actions().empty()); |
| 65 EXPECT_EQ(Issue::FATAL, issue3.severity()); | 70 EXPECT_EQ(Issue::Severity::FATAL, issue3.severity()); |
| 66 EXPECT_EQ("routeid", issue3.route_id()); | 71 EXPECT_EQ("routeid", issue3.route_id()); |
| 67 EXPECT_FALSE(issue3.is_global()); | 72 EXPECT_FALSE(issue3.IsGlobal()); |
| 68 EXPECT_TRUE(issue3.is_blocking()); | 73 EXPECT_TRUE(issue3.IsBlocking()); |
| 69 EXPECT_EQ(12345, issue1.help_page_id()); | 74 EXPECT_EQ(12345, issue3.help_page_id()); |
| 70 } | 75 } |
| 71 | 76 |
| 72 // Tests custom Issue factory method with secondary actions. | 77 // Tests Issues with secondary actions. |
| 73 TEST(IssueUnitTest, CustomIssueConstructionWithSecondaryActions) { | 78 TEST(IssueUnitTest, CustomIssueConstructionWithSecondaryActions) { |
| 74 std::vector<IssueAction> secondary_actions; | 79 std::vector<Issue::ActionType> secondary_actions; |
| 75 secondary_actions.push_back(IssueAction(IssueAction::TYPE_DISMISS)); | 80 secondary_actions.push_back(Issue::ActionType::DISMISS); |
| 76 EXPECT_EQ(1u, secondary_actions.size()); | |
| 77 std::string title = "title"; | |
| 78 std::string message = "message"; | |
| 79 | 81 |
| 80 Issue issue1(title, message, IssueAction(IssueAction::TYPE_LEARN_MORE), | 82 Issue issue1 = CreateWarningIssue(Issue::ActionType::LEARN_MORE); |
| 81 secondary_actions, "", Issue::WARNING, false, -1); | 83 issue1.set_secondary_actions(secondary_actions); |
| 82 | 84 |
| 83 EXPECT_EQ(title, issue1.title()); | 85 EXPECT_EQ("title", issue1.title()); |
| 84 EXPECT_EQ(message, issue1.message()); | 86 EXPECT_EQ("message", issue1.message()); |
| 85 EXPECT_EQ(IssueAction::TYPE_LEARN_MORE, issue1.default_action().type()); | 87 EXPECT_EQ(Issue::ActionType::LEARN_MORE, issue1.default_action()); |
| 86 EXPECT_FALSE(issue1.secondary_actions().empty()); | 88 EXPECT_FALSE(issue1.secondary_actions().empty()); |
| 87 EXPECT_EQ(1u, issue1.secondary_actions().size()); | 89 EXPECT_EQ(1u, issue1.secondary_actions().size()); |
| 88 EXPECT_EQ(Issue::WARNING, issue1.severity()); | 90 EXPECT_EQ(Issue::Severity::WARNING, issue1.severity()); |
| 89 EXPECT_EQ("", issue1.route_id()); | 91 EXPECT_EQ("", issue1.route_id()); |
| 90 EXPECT_TRUE(issue1.is_global()); | 92 EXPECT_TRUE(issue1.IsGlobal()); |
| 91 EXPECT_FALSE(issue1.is_blocking()); | 93 EXPECT_FALSE(issue1.IsBlocking()); |
| 92 | 94 |
| 93 Issue issue2(title, message, IssueAction(IssueAction::TYPE_LEARN_MORE), | 95 Issue issue2 = |
| 94 secondary_actions, "routeid", Issue::FATAL, true, -1); | 96 CreateFatalRouteIssueWithMessage(Issue::ActionType::LEARN_MORE); |
| 97 issue2.set_secondary_actions(secondary_actions); |
| 95 | 98 |
| 96 EXPECT_EQ(title, issue2.title()); | 99 EXPECT_EQ("title", issue2.title()); |
| 97 EXPECT_EQ(message, issue2.message()); | 100 EXPECT_EQ("message", issue2.message()); |
| 98 EXPECT_EQ(IssueAction::TYPE_LEARN_MORE, issue2.default_action().type()); | 101 EXPECT_EQ(Issue::ActionType::LEARN_MORE, issue2.default_action()); |
| 99 EXPECT_FALSE(issue2.secondary_actions().empty()); | 102 EXPECT_FALSE(issue2.secondary_actions().empty()); |
| 100 EXPECT_EQ(1u, issue2.secondary_actions().size()); | 103 EXPECT_EQ(1u, issue2.secondary_actions().size()); |
| 101 EXPECT_EQ(Issue::FATAL, issue2.severity()); | 104 EXPECT_EQ(Issue::Severity::FATAL, issue2.severity()); |
| 102 EXPECT_EQ("routeid", issue2.route_id()); | 105 EXPECT_EQ("routeid", issue2.route_id()); |
| 103 EXPECT_FALSE(issue2.is_global()); | 106 EXPECT_FALSE(issue2.IsGlobal()); |
| 104 EXPECT_TRUE(issue2.is_blocking()); | 107 EXPECT_TRUE(issue2.IsBlocking()); |
| 105 | 108 |
| 106 Issue issue3(title, "", IssueAction(IssueAction::TYPE_LEARN_MORE), | 109 Issue issue3 = CreateFatalRouteIssue(Issue::ActionType::LEARN_MORE); |
| 107 secondary_actions, "routeid", Issue::FATAL, true, -1); | 110 issue3.set_secondary_actions(secondary_actions); |
| 108 | 111 |
| 109 EXPECT_EQ(title, issue3.title()); | 112 EXPECT_EQ("title", issue3.title()); |
| 110 EXPECT_EQ("", issue3.message()); | 113 EXPECT_EQ("", issue3.message()); |
| 111 EXPECT_EQ(IssueAction::TYPE_LEARN_MORE, issue3.default_action().type()); | 114 EXPECT_EQ(Issue::ActionType::LEARN_MORE, issue3.default_action()); |
| 112 EXPECT_FALSE(issue3.secondary_actions().empty()); | 115 EXPECT_FALSE(issue3.secondary_actions().empty()); |
| 113 EXPECT_EQ(1u, issue3.secondary_actions().size()); | 116 EXPECT_EQ(1u, issue3.secondary_actions().size()); |
| 114 EXPECT_EQ(Issue::FATAL, issue3.severity()); | 117 EXPECT_EQ(Issue::Severity::FATAL, issue3.severity()); |
| 115 EXPECT_EQ("routeid", issue3.route_id()); | 118 EXPECT_EQ("routeid", issue3.route_id()); |
| 116 EXPECT_FALSE(issue3.is_global()); | 119 EXPECT_FALSE(issue3.IsGlobal()); |
| 117 EXPECT_TRUE(issue3.is_blocking()); | 120 EXPECT_TRUE(issue3.IsBlocking()); |
| 118 } | 121 } |
| 119 | 122 |
| 120 // Tests == and != method. | 123 // Tests the copy constructor, ==, and != methods. |
| 121 TEST(IssueUnitTest, Equal) { | 124 TEST(IssueUnitTest, Equality) { |
| 122 std::vector<IssueAction> secondary_actions; | 125 std::vector<Issue::ActionType> secondary_actions; |
| 123 secondary_actions.push_back(IssueAction(IssueAction::TYPE_DISMISS)); | 126 secondary_actions.push_back(Issue::ActionType::DISMISS); |
| 124 | 127 |
| 125 std::vector<IssueAction> secondary_actions2; | 128 std::vector<Issue::ActionType> secondary_actions2; |
| 126 | 129 |
| 127 std::string title = "title"; | 130 std::string title = "title"; |
| 128 std::string message = "message"; | 131 std::string message = "message"; |
| 129 | 132 |
| 130 Issue issue1(Issue(title, message, IssueAction(IssueAction::TYPE_LEARN_MORE), | 133 Issue issue1(title, Issue::ActionType::LEARN_MORE, Issue::Severity::WARNING); |
| 131 secondary_actions, "", Issue::WARNING, false, -1)); | 134 issue1.set_message(message); |
| 132 EXPECT_TRUE(issue1.Equals(issue1)); | 135 issue1.set_secondary_actions(secondary_actions); |
| 136 EXPECT_EQ(issue1, issue1); |
| 133 | 137 |
| 134 Issue issue2(Issue(title, message, IssueAction(IssueAction::TYPE_LEARN_MORE), | 138 Issue issue2(title, Issue::ActionType::LEARN_MORE, Issue::Severity::WARNING); |
| 135 secondary_actions, "", Issue::WARNING, false, -1)); | 139 issue2.set_message(message); |
| 136 EXPECT_FALSE(issue1.Equals(issue2)); | 140 issue2.set_secondary_actions(secondary_actions); |
| 141 |
| 142 // |issue1| != |issue2| because their IDs are different. |
| 143 EXPECT_NE(issue1, issue2); |
| 144 |
| 145 // Copy constructor also copies the ID. |
| 146 Issue issue3 = issue1; |
| 147 EXPECT_EQ(issue1, issue3); |
| 137 } | 148 } |
| 138 | 149 |
| 139 } // namespace media_router | 150 } // namespace media_router |
| OLD | NEW |