Commit a6098813 authored by Thanh Le's avatar Thanh Le Committed by Commit Bot

Changed from map to array in mojom for Previews modes and flags values.

The map data structure is not really a good fit since we can replace the
data holds in the key to an attribute in the value field.

Bug: 786996
Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Change-Id: Ib3f62522f2b3ea8a890bc1ba21d56509d5f13e8f
Reviewed-on: https://chromium-review.googlesource.com/817517Reviewed-by: default avatarTom Sepez <tsepez@chromium.org>
Reviewed-by: default avatarRyan Sturm <ryansturm@chromium.org>
Reviewed-by: default avatarTarun Bansal <tbansal@chromium.org>
Commit-Queue: Thanh Le <thanhdle@chromium.org>
Cr-Commit-Position: refs/heads/master@{#523506}
parent db988cff
...@@ -545,9 +545,9 @@ cr.define('interventions_internals', () => { ...@@ -545,9 +545,9 @@ cr.define('interventions_internals', () => {
.then((response) => { .then((response) => {
let statuses = $('previews-enabled-status'); let statuses = $('previews-enabled-status');
getSortedKeysByDescription(response.statuses).forEach((key) => { response.statuses.forEach((value) => {
let value = response.statuses.get(key);
let message = value.description + ': '; let message = value.description + ': ';
let key = value.htmlId;
message += value.enabled ? 'Enabled' : 'Disabled'; message += value.enabled ? 'Enabled' : 'Disabled';
assert(!$(key), 'Component ' + key + ' already existed!'); assert(!$(key), 'Component ' + key + ' already existed!');
...@@ -569,15 +569,15 @@ cr.define('interventions_internals', () => { ...@@ -569,15 +569,15 @@ cr.define('interventions_internals', () => {
.then((response) => { .then((response) => {
let flags = $('previews-flags-table'); let flags = $('previews-flags-table');
getSortedKeysByDescription(response.flags).forEach((key) => { response.flags.forEach((flag) => {
let value = response.flags.get(key); let key = flag.htmlId;
assert(!$(key), 'Component ' + key + ' already existed!'); assert(!$(key), 'Component ' + key + ' already existed!');
let flagDescription = document.createElement('a'); let flagDescription = document.createElement('a');
flagDescription.setAttribute('class', 'previews-flag-description'); flagDescription.setAttribute('class', 'previews-flag-description');
flagDescription.setAttribute('id', key + 'Description'); flagDescription.setAttribute('id', key + 'Description');
flagDescription.setAttribute('href', value.link); flagDescription.setAttribute('href', flag.link);
flagDescription.textContent = value.description; flagDescription.textContent = flag.description;
let flagNameTd = document.createElement('td'); let flagNameTd = document.createElement('td');
flagNameTd.appendChild(flagDescription); flagNameTd.appendChild(flagDescription);
...@@ -585,7 +585,7 @@ cr.define('interventions_internals', () => { ...@@ -585,7 +585,7 @@ cr.define('interventions_internals', () => {
let flagValueTd = document.createElement('td'); let flagValueTd = document.createElement('td');
flagValueTd.setAttribute('class', 'previews-flag-value'); flagValueTd.setAttribute('class', 'previews-flag-value');
flagValueTd.setAttribute('id', key + 'Value'); flagValueTd.setAttribute('id', key + 'Value');
flagValueTd.textContent = value.value; flagValueTd.textContent = flag.value;
let node = document.createElement('tr'); let node = document.createElement('tr');
node.setAttribute('class', 'previews-flag-container'); node.setAttribute('class', 'previews-flag-container');
......
...@@ -11,6 +11,9 @@ struct PreviewsStatus { ...@@ -11,6 +11,9 @@ struct PreviewsStatus {
// chrome://interventions-internals. // chrome://interventions-internals.
string description; string description;
bool enabled; bool enabled;
// The ID of the html DOM element.
string htmlId;
}; };
struct PreviewsFlag { struct PreviewsFlag {
...@@ -23,6 +26,9 @@ struct PreviewsFlag { ...@@ -23,6 +26,9 @@ struct PreviewsFlag {
// The string representation of the flag value. // The string representation of the flag value.
string value; string value;
// The ID of the html DOM element.
string htmlId;
}; };
struct MessageLog { struct MessageLog {
...@@ -46,12 +52,10 @@ struct MessageLog { ...@@ -46,12 +52,10 @@ struct MessageLog {
interface InterventionsInternalsPageHandler { interface InterventionsInternalsPageHandler {
// Returns a map of previews modes statuses. // Returns a map of previews modes statuses.
// TODO(thanhdle): Change this to array type. crbug.com/786996. GetPreviewsEnabled() => (array<PreviewsStatus> statuses);
GetPreviewsEnabled() => (map<string, PreviewsStatus> statuses);
// Returns a map of previews related flags details. // Returns a map of previews related flags details.
// TODO(thanhdle): Change this to array type. crbug.com/786996. GetPreviewsFlagsDetails() => (array<PreviewsFlag> flags);
GetPreviewsFlagsDetails() => (map<string, PreviewsFlag> flags);
// Inject the client side page object. // Inject the client side page object.
SetClientPage(InterventionsInternalsPage page); SetClientPage(InterventionsInternalsPage page);
......
...@@ -4,8 +4,8 @@ ...@@ -4,8 +4,8 @@
#include "chrome/browser/ui/webui/interventions_internals/interventions_internals_page_handler.h" #include "chrome/browser/ui/webui/interventions_internals/interventions_internals_page_handler.h"
#include <unordered_map>
#include <utility> #include <utility>
#include <vector>
#include "base/base_switches.h" #include "base/base_switches.h"
#include "base/command_line.h" #include "base/command_line.h"
...@@ -17,12 +17,12 @@ ...@@ -17,12 +17,12 @@
namespace { namespace {
// Keys for status mapping. These value will be used as HTML DOM ID in the // HTML DOM ID used in the JavaScript code. The IDs are generated here so that
// JavaScript code. // the DOM would have sensible name instead of autogenerated IDs.
const char kAmpRedirectionPreviews[] = "ampPreviews"; const char kAmpRedirectionPreviewsHtmlId[] = "amp-preview-status";
const char kClientLoFiPreviews[] = "clientLoFiPreviews"; const char kClientLoFiPreviewsHtmlId[] = "client-lofi-preview-status";
const char kNoScriptPreviews[] = "noScriptPreviews"; const char kNoScriptPreviewsHtmlId[] = "noscript-preview-status";
const char kOfflinePreviews[] = "offlinePreviews"; const char kOfflinePreviewsHtmlId[] = "offline-preview-status";
// Descriptions for previews. // Descriptions for previews.
const char kAmpRedirectionDescription[] = "AMP Previews"; const char kAmpRedirectionDescription[] = "AMP Previews";
...@@ -36,10 +36,11 @@ const char kNoScriptFeatureName[] = "NoScriptPreviews"; ...@@ -36,10 +36,11 @@ const char kNoScriptFeatureName[] = "NoScriptPreviews";
const char kOfflinePageFeatureName[] = "OfflinePreviews"; const char kOfflinePageFeatureName[] = "OfflinePreviews";
#endif // OS_ANDROID #endif // OS_ANDROID
// Keys for flags mapping. // HTML DOM ID used in the JavaScript code. The IDs are generated here so that
const char kEctFlag[] = "ectFlag"; // the DOM would have sensible name instead of autogenerated IDs.
const char kNoScriptFlag[] = "noScriptFlag"; const char kEctFlagHtmlId[] = "ect-flag";
const char kOfflinePageFlag[] = "offlinePageFlag"; const char kNoScriptFlagHtmlId[] = "noscript-flag";
const char kOfflinePageFlagHtmlId[] = "offline-page-flag";
// Links to flags in chrome://flags. // Links to flags in chrome://flags.
// TODO(thanhdle): Refactor into vector of structs. crbug.com/787010. // TODO(thanhdle): Refactor into vector of structs. crbug.com/787010.
...@@ -151,34 +152,38 @@ void InterventionsInternalsPageHandler::OnBlacklistCleared(base::Time time) { ...@@ -151,34 +152,38 @@ void InterventionsInternalsPageHandler::OnBlacklistCleared(base::Time time) {
void InterventionsInternalsPageHandler::GetPreviewsEnabled( void InterventionsInternalsPageHandler::GetPreviewsEnabled(
GetPreviewsEnabledCallback callback) { GetPreviewsEnabledCallback callback) {
std::unordered_map<std::string, mojom::PreviewsStatusPtr> statuses; std::vector<mojom::PreviewsStatusPtr> statuses;
auto amp_status = mojom::PreviewsStatus::New(); auto amp_status = mojom::PreviewsStatus::New();
amp_status->description = kAmpRedirectionDescription; amp_status->description = kAmpRedirectionDescription;
amp_status->enabled = previews::params::IsAMPRedirectionPreviewEnabled(); amp_status->enabled = previews::params::IsAMPRedirectionPreviewEnabled();
statuses[kAmpRedirectionPreviews] = std::move(amp_status); amp_status->htmlId = kAmpRedirectionPreviewsHtmlId;
statuses.push_back(std::move(amp_status));
auto client_lofi_status = mojom::PreviewsStatus::New(); auto client_lofi_status = mojom::PreviewsStatus::New();
client_lofi_status->description = kClientLoFiDescription; client_lofi_status->description = kClientLoFiDescription;
client_lofi_status->enabled = previews::params::IsClientLoFiEnabled(); client_lofi_status->enabled = previews::params::IsClientLoFiEnabled();
statuses[kClientLoFiPreviews] = std::move(client_lofi_status); client_lofi_status->htmlId = kClientLoFiPreviewsHtmlId;
statuses.push_back(std::move(client_lofi_status));
auto noscript_status = mojom::PreviewsStatus::New(); auto noscript_status = mojom::PreviewsStatus::New();
noscript_status->description = kNoScriptDescription; noscript_status->description = kNoScriptDescription;
noscript_status->enabled = previews::params::IsNoScriptPreviewsEnabled(); noscript_status->enabled = previews::params::IsNoScriptPreviewsEnabled();
statuses[kNoScriptPreviews] = std::move(noscript_status); noscript_status->htmlId = kNoScriptPreviewsHtmlId;
statuses.push_back(std::move(noscript_status));
auto offline_status = mojom::PreviewsStatus::New(); auto offline_status = mojom::PreviewsStatus::New();
offline_status->description = kOfflineDesciption; offline_status->description = kOfflineDesciption;
offline_status->enabled = previews::params::IsOfflinePreviewsEnabled(); offline_status->enabled = previews::params::IsOfflinePreviewsEnabled();
statuses[kOfflinePreviews] = std::move(offline_status); offline_status->htmlId = kOfflinePreviewsHtmlId;
statuses.push_back(std::move(offline_status));
std::move(callback).Run(std::move(statuses)); std::move(callback).Run(std::move(statuses));
} }
void InterventionsInternalsPageHandler::GetPreviewsFlagsDetails( void InterventionsInternalsPageHandler::GetPreviewsFlagsDetails(
GetPreviewsFlagsDetailsCallback callback) { GetPreviewsFlagsDetailsCallback callback) {
std::unordered_map<std::string, mojom::PreviewsFlagPtr> flags; std::vector<mojom::PreviewsFlagPtr> flags;
auto ect_status = mojom::PreviewsFlag::New(); auto ect_status = mojom::PreviewsFlag::New();
ect_status->description = ect_status->description =
...@@ -188,13 +193,15 @@ void InterventionsInternalsPageHandler::GetPreviewsFlagsDetails( ...@@ -188,13 +193,15 @@ void InterventionsInternalsPageHandler::GetPreviewsFlagsDetails(
base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII( base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII(
switches::kForceEffectiveConnectionType); switches::kForceEffectiveConnectionType);
ect_status->value = ect_value.empty() ? kDefaultFlagValue : ect_value; ect_status->value = ect_value.empty() ? kDefaultFlagValue : ect_value;
flags[kEctFlag] = std::move(ect_status); ect_status->htmlId = kEctFlagHtmlId;
flags.push_back(std::move(ect_status));
auto noscript_status = mojom::PreviewsFlag::New(); auto noscript_status = mojom::PreviewsFlag::New();
noscript_status->description = flag_descriptions::kEnableNoScriptPreviewsName; noscript_status->description = flag_descriptions::kEnableNoScriptPreviewsName;
noscript_status->link = kNoScriptFlagLink; noscript_status->link = kNoScriptFlagLink;
noscript_status->value = GetFeatureFlagStatus(kNoScriptFeatureName); noscript_status->value = GetFeatureFlagStatus(kNoScriptFeatureName);
flags[kNoScriptFlag] = std::move(noscript_status); noscript_status->htmlId = kNoScriptFlagHtmlId;
flags.push_back(std::move(noscript_status));
auto offline_page_status = mojom::PreviewsFlag::New(); auto offline_page_status = mojom::PreviewsFlag::New();
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
...@@ -206,7 +213,8 @@ void InterventionsInternalsPageHandler::GetPreviewsFlagsDetails( ...@@ -206,7 +213,8 @@ void InterventionsInternalsPageHandler::GetPreviewsFlagsDetails(
offline_page_status->value = "Only support on Android"; offline_page_status->value = "Only support on Android";
#endif // OS_ANDROID #endif // OS_ANDROID
offline_page_status->link = kOfflinePageFlagLink; offline_page_status->link = kOfflinePageFlagLink;
flags[kOfflinePageFlag] = std::move(offline_page_status); offline_page_status->htmlId = kOfflinePageFlagHtmlId;
flags.push_back(std::move(offline_page_status));
std::move(callback).Run(std::move(flags)); std::move(callback).Run(std::move(flags));
} }
...@@ -39,11 +39,11 @@ ...@@ -39,11 +39,11 @@
namespace { namespace {
// The keys for the mapping for the enabled/disabled status map. // The HTML DOM ID used in Javascript.
constexpr char kAMPRedirectionPreviews[] = "ampPreviews"; constexpr char kAMPRedirectionPreviewsHtmlId[] = "amp-preview-status";
constexpr char kClientLoFiPreviews[] = "clientLoFiPreviews"; constexpr char kClientLoFiPreviewsHtmlId[] = "client-lofi-preview-status";
constexpr char kNoScriptPreviews[] = "noScriptPreviews"; constexpr char kNoScriptPreviewsHtmlId[] = "noscript-preview-status";
constexpr char kOfflinePreviews[] = "offlinePreviews"; constexpr char kOfflinePreviewsHtmlId[] = "offline-preview-status";
// Descriptions for previews. // Descriptions for previews.
constexpr char kAmpRedirectionDescription[] = "AMP Previews"; constexpr char kAmpRedirectionDescription[] = "AMP Previews";
...@@ -51,10 +51,10 @@ constexpr char kClientLoFiDescription[] = "Client LoFi Previews"; ...@@ -51,10 +51,10 @@ constexpr char kClientLoFiDescription[] = "Client LoFi Previews";
constexpr char kNoScriptDescription[] = "NoScript Previews"; constexpr char kNoScriptDescription[] = "NoScript Previews";
constexpr char kOfflineDesciption[] = "Offline Previews"; constexpr char kOfflineDesciption[] = "Offline Previews";
// Keys for flags mapping. // The HTML DOM ID used in Javascript.
constexpr char kEctFlag[] = "ectFlag"; constexpr char kEctFlagHtmlId[] = "ect-flag";
constexpr char kNoScriptFlag[] = "noScriptFlag"; constexpr char kNoScriptFlagHtmlId[] = "noscript-flag";
constexpr char kOfflinePageFlag[] = "offlinePageFlag"; constexpr char kOfflinePageFlagHtmlId[] = "offline-page-flag";
// Links to flags in chrome://flags. // Links to flags in chrome://flags.
constexpr char kNoScriptFlagLink[] = "chrome://flags/#enable-noscript-previews"; constexpr char kNoScriptFlagLink[] = "chrome://flags/#enable-noscript-previews";
...@@ -80,14 +80,19 @@ std::unordered_map<std::string, mojom::PreviewsFlagPtr> passed_in_flags; ...@@ -80,14 +80,19 @@ std::unordered_map<std::string, mojom::PreviewsFlagPtr> passed_in_flags;
// Mocked call back method to test GetPreviewsEnabledCallback. // Mocked call back method to test GetPreviewsEnabledCallback.
void MockGetPreviewsEnabledCallback( void MockGetPreviewsEnabledCallback(
std::unordered_map<std::string, mojom::PreviewsStatusPtr> params) { std::vector<mojom::PreviewsStatusPtr> params) {
passed_in_modes = std::move(params); passed_in_modes.clear();
for (size_t i = 0; i < params.size(); i++) {
passed_in_modes[params[i]->htmlId] = std::move(params[i]);
}
} }
// Mocked call back method to test GetPreviewsFlagsDetailsCallback. // Mocked call back method to test GetPreviewsFlagsDetailsCallback.
void MockGetPreviewsFlagsCallback( void MockGetPreviewsFlagsCallback(std::vector<mojom::PreviewsFlagPtr> params) {
std::unordered_map<std::string, mojom::PreviewsFlagPtr> params) { passed_in_flags.clear();
passed_in_flags = std::move(params); for (size_t i = 0; i < params.size(); i++) {
passed_in_flags[params[i]->htmlId] = std::move(params[i]);
}
} }
// Dummy method for creating TestPreviewsUIService. // Dummy method for creating TestPreviewsUIService.
...@@ -312,7 +317,7 @@ TEST_F(InterventionsInternalsPageHandlerTest, AMPRedirectionDisabled) { ...@@ -312,7 +317,7 @@ TEST_F(InterventionsInternalsPageHandlerTest, AMPRedirectionDisabled) {
page_handler_->GetPreviewsEnabled( page_handler_->GetPreviewsEnabled(
base::BindOnce(&MockGetPreviewsEnabledCallback)); base::BindOnce(&MockGetPreviewsEnabledCallback));
auto amp_redirection = passed_in_modes.find(kAMPRedirectionPreviews); auto amp_redirection = passed_in_modes.find(kAMPRedirectionPreviewsHtmlId);
ASSERT_NE(passed_in_modes.end(), amp_redirection); ASSERT_NE(passed_in_modes.end(), amp_redirection);
EXPECT_EQ(kAmpRedirectionDescription, amp_redirection->second->description); EXPECT_EQ(kAmpRedirectionDescription, amp_redirection->second->description);
EXPECT_FALSE(amp_redirection->second->enabled); EXPECT_FALSE(amp_redirection->second->enabled);
...@@ -325,7 +330,7 @@ TEST_F(InterventionsInternalsPageHandlerTest, AMPRedirectionEnabled) { ...@@ -325,7 +330,7 @@ TEST_F(InterventionsInternalsPageHandlerTest, AMPRedirectionEnabled) {
page_handler_->GetPreviewsEnabled( page_handler_->GetPreviewsEnabled(
base::BindOnce(&MockGetPreviewsEnabledCallback)); base::BindOnce(&MockGetPreviewsEnabledCallback));
auto amp_redirection = passed_in_modes.find(kAMPRedirectionPreviews); auto amp_redirection = passed_in_modes.find(kAMPRedirectionPreviewsHtmlId);
ASSERT_NE(passed_in_modes.end(), amp_redirection); ASSERT_NE(passed_in_modes.end(), amp_redirection);
EXPECT_EQ(kAmpRedirectionDescription, amp_redirection->second->description); EXPECT_EQ(kAmpRedirectionDescription, amp_redirection->second->description);
EXPECT_TRUE(amp_redirection->second->enabled); EXPECT_TRUE(amp_redirection->second->enabled);
...@@ -337,7 +342,7 @@ TEST_F(InterventionsInternalsPageHandlerTest, ClientLoFiDisabled) { ...@@ -337,7 +342,7 @@ TEST_F(InterventionsInternalsPageHandlerTest, ClientLoFiDisabled) {
page_handler_->GetPreviewsEnabled( page_handler_->GetPreviewsEnabled(
base::BindOnce(&MockGetPreviewsEnabledCallback)); base::BindOnce(&MockGetPreviewsEnabledCallback));
auto client_lofi = passed_in_modes.find(kClientLoFiPreviews); auto client_lofi = passed_in_modes.find(kClientLoFiPreviewsHtmlId);
ASSERT_NE(passed_in_modes.end(), client_lofi); ASSERT_NE(passed_in_modes.end(), client_lofi);
EXPECT_EQ(kClientLoFiDescription, client_lofi->second->description); EXPECT_EQ(kClientLoFiDescription, client_lofi->second->description);
EXPECT_FALSE(client_lofi->second->enabled); EXPECT_FALSE(client_lofi->second->enabled);
...@@ -349,7 +354,7 @@ TEST_F(InterventionsInternalsPageHandlerTest, ClientLoFiEnabled) { ...@@ -349,7 +354,7 @@ TEST_F(InterventionsInternalsPageHandlerTest, ClientLoFiEnabled) {
page_handler_->GetPreviewsEnabled( page_handler_->GetPreviewsEnabled(
base::BindOnce(&MockGetPreviewsEnabledCallback)); base::BindOnce(&MockGetPreviewsEnabledCallback));
auto client_lofi = passed_in_modes.find(kClientLoFiPreviews); auto client_lofi = passed_in_modes.find(kClientLoFiPreviewsHtmlId);
ASSERT_NE(passed_in_modes.end(), client_lofi); ASSERT_NE(passed_in_modes.end(), client_lofi);
EXPECT_EQ(kClientLoFiDescription, client_lofi->second->description); EXPECT_EQ(kClientLoFiDescription, client_lofi->second->description);
EXPECT_TRUE(client_lofi->second->enabled); EXPECT_TRUE(client_lofi->second->enabled);
...@@ -362,7 +367,7 @@ TEST_F(InterventionsInternalsPageHandlerTest, NoScriptDisabled) { ...@@ -362,7 +367,7 @@ TEST_F(InterventionsInternalsPageHandlerTest, NoScriptDisabled) {
page_handler_->GetPreviewsEnabled( page_handler_->GetPreviewsEnabled(
base::BindOnce(&MockGetPreviewsEnabledCallback)); base::BindOnce(&MockGetPreviewsEnabledCallback));
auto noscript = passed_in_modes.find(kNoScriptPreviews); auto noscript = passed_in_modes.find(kNoScriptPreviewsHtmlId);
ASSERT_NE(passed_in_modes.end(), noscript); ASSERT_NE(passed_in_modes.end(), noscript);
EXPECT_EQ(kNoScriptDescription, noscript->second->description); EXPECT_EQ(kNoScriptDescription, noscript->second->description);
EXPECT_FALSE(noscript->second->enabled); EXPECT_FALSE(noscript->second->enabled);
...@@ -375,7 +380,7 @@ TEST_F(InterventionsInternalsPageHandlerTest, NoScriptEnabled) { ...@@ -375,7 +380,7 @@ TEST_F(InterventionsInternalsPageHandlerTest, NoScriptEnabled) {
page_handler_->GetPreviewsEnabled( page_handler_->GetPreviewsEnabled(
base::BindOnce(&MockGetPreviewsEnabledCallback)); base::BindOnce(&MockGetPreviewsEnabledCallback));
auto noscript = passed_in_modes.find(kNoScriptPreviews); auto noscript = passed_in_modes.find(kNoScriptPreviewsHtmlId);
ASSERT_NE(passed_in_modes.end(), noscript); ASSERT_NE(passed_in_modes.end(), noscript);
EXPECT_EQ(kNoScriptDescription, noscript->second->description); EXPECT_EQ(kNoScriptDescription, noscript->second->description);
EXPECT_TRUE(noscript->second->enabled); EXPECT_TRUE(noscript->second->enabled);
...@@ -388,7 +393,7 @@ TEST_F(InterventionsInternalsPageHandlerTest, OfflinePreviewsDisabled) { ...@@ -388,7 +393,7 @@ TEST_F(InterventionsInternalsPageHandlerTest, OfflinePreviewsDisabled) {
page_handler_->GetPreviewsEnabled( page_handler_->GetPreviewsEnabled(
base::BindOnce(&MockGetPreviewsEnabledCallback)); base::BindOnce(&MockGetPreviewsEnabledCallback));
auto offline_previews = passed_in_modes.find(kOfflinePreviews); auto offline_previews = passed_in_modes.find(kOfflinePreviewsHtmlId);
ASSERT_NE(passed_in_modes.end(), offline_previews); ASSERT_NE(passed_in_modes.end(), offline_previews);
EXPECT_EQ(kOfflineDesciption, offline_previews->second->description); EXPECT_EQ(kOfflineDesciption, offline_previews->second->description);
EXPECT_FALSE(offline_previews->second->enabled); EXPECT_FALSE(offline_previews->second->enabled);
...@@ -401,7 +406,7 @@ TEST_F(InterventionsInternalsPageHandlerTest, OfflinePreviewsEnabled) { ...@@ -401,7 +406,7 @@ TEST_F(InterventionsInternalsPageHandlerTest, OfflinePreviewsEnabled) {
page_handler_->GetPreviewsEnabled( page_handler_->GetPreviewsEnabled(
base::BindOnce(&MockGetPreviewsEnabledCallback)); base::BindOnce(&MockGetPreviewsEnabledCallback));
auto offline_previews = passed_in_modes.find(kOfflinePreviews); auto offline_previews = passed_in_modes.find(kOfflinePreviewsHtmlId);
ASSERT_NE(passed_in_modes.end(), offline_previews); ASSERT_NE(passed_in_modes.end(), offline_previews);
EXPECT_TRUE(offline_previews->second); EXPECT_TRUE(offline_previews->second);
EXPECT_EQ(kOfflineDesciption, offline_previews->second->description); EXPECT_EQ(kOfflineDesciption, offline_previews->second->description);
...@@ -419,7 +424,7 @@ TEST_F(InterventionsInternalsPageHandlerTest, GetFlagsCount) { ...@@ -419,7 +424,7 @@ TEST_F(InterventionsInternalsPageHandlerTest, GetFlagsCount) {
TEST_F(InterventionsInternalsPageHandlerTest, GetFlagsEctDefaultValue) { TEST_F(InterventionsInternalsPageHandlerTest, GetFlagsEctDefaultValue) {
page_handler_->GetPreviewsFlagsDetails( page_handler_->GetPreviewsFlagsDetails(
base::BindOnce(&MockGetPreviewsFlagsCallback)); base::BindOnce(&MockGetPreviewsFlagsCallback));
auto ect_flag = passed_in_flags.find(kEctFlag); auto ect_flag = passed_in_flags.find(kEctFlagHtmlId);
ASSERT_NE(passed_in_flags.end(), ect_flag); ASSERT_NE(passed_in_flags.end(), ect_flag);
EXPECT_EQ(flag_descriptions::kForceEffectiveConnectionTypeName, EXPECT_EQ(flag_descriptions::kForceEffectiveConnectionTypeName,
...@@ -444,7 +449,7 @@ TEST_F(InterventionsInternalsPageHandlerTest, GetFlagsForceEctValue) { ...@@ -444,7 +449,7 @@ TEST_F(InterventionsInternalsPageHandlerTest, GetFlagsForceEctValue) {
expected_ect); expected_ect);
page_handler_->GetPreviewsFlagsDetails( page_handler_->GetPreviewsFlagsDetails(
base::BindOnce(&MockGetPreviewsFlagsCallback)); base::BindOnce(&MockGetPreviewsFlagsCallback));
auto ect_flag = passed_in_flags.find(kEctFlag); auto ect_flag = passed_in_flags.find(kEctFlagHtmlId);
ASSERT_NE(passed_in_flags.end(), ect_flag); ASSERT_NE(passed_in_flags.end(), ect_flag);
EXPECT_EQ(flag_descriptions::kForceEffectiveConnectionTypeName, EXPECT_EQ(flag_descriptions::kForceEffectiveConnectionTypeName,
...@@ -457,7 +462,7 @@ TEST_F(InterventionsInternalsPageHandlerTest, GetFlagsForceEctValue) { ...@@ -457,7 +462,7 @@ TEST_F(InterventionsInternalsPageHandlerTest, GetFlagsForceEctValue) {
TEST_F(InterventionsInternalsPageHandlerTest, GetFlagsNoScriptDefaultValue) { TEST_F(InterventionsInternalsPageHandlerTest, GetFlagsNoScriptDefaultValue) {
page_handler_->GetPreviewsFlagsDetails( page_handler_->GetPreviewsFlagsDetails(
base::BindOnce(&MockGetPreviewsFlagsCallback)); base::BindOnce(&MockGetPreviewsFlagsCallback));
auto noscript_flag = passed_in_flags.find(kNoScriptFlag); auto noscript_flag = passed_in_flags.find(kNoScriptFlagHtmlId);
ASSERT_NE(passed_in_flags.end(), noscript_flag); ASSERT_NE(passed_in_flags.end(), noscript_flag);
EXPECT_EQ(flag_descriptions::kEnableNoScriptPreviewsName, EXPECT_EQ(flag_descriptions::kEnableNoScriptPreviewsName,
...@@ -474,7 +479,7 @@ TEST_F(InterventionsInternalsPageHandlerTest, GetFlagsNoScriptEnabled) { ...@@ -474,7 +479,7 @@ TEST_F(InterventionsInternalsPageHandlerTest, GetFlagsNoScriptEnabled) {
page_handler_->GetPreviewsFlagsDetails( page_handler_->GetPreviewsFlagsDetails(
base::BindOnce(&MockGetPreviewsFlagsCallback)); base::BindOnce(&MockGetPreviewsFlagsCallback));
auto noscript_flag = passed_in_flags.find(kNoScriptFlag); auto noscript_flag = passed_in_flags.find(kNoScriptFlagHtmlId);
ASSERT_NE(passed_in_flags.end(), noscript_flag); ASSERT_NE(passed_in_flags.end(), noscript_flag);
EXPECT_EQ(flag_descriptions::kEnableNoScriptPreviewsName, EXPECT_EQ(flag_descriptions::kEnableNoScriptPreviewsName,
...@@ -491,7 +496,7 @@ TEST_F(InterventionsInternalsPageHandlerTest, GetFlagsNoScriptDisabled) { ...@@ -491,7 +496,7 @@ TEST_F(InterventionsInternalsPageHandlerTest, GetFlagsNoScriptDisabled) {
page_handler_->GetPreviewsFlagsDetails( page_handler_->GetPreviewsFlagsDetails(
base::BindOnce(&MockGetPreviewsFlagsCallback)); base::BindOnce(&MockGetPreviewsFlagsCallback));
auto noscript_flag = passed_in_flags.find(kNoScriptFlag); auto noscript_flag = passed_in_flags.find(kNoScriptFlagHtmlId);
ASSERT_NE(passed_in_flags.end(), noscript_flag); ASSERT_NE(passed_in_flags.end(), noscript_flag);
EXPECT_EQ(flag_descriptions::kEnableNoScriptPreviewsName, EXPECT_EQ(flag_descriptions::kEnableNoScriptPreviewsName,
...@@ -509,7 +514,7 @@ TEST_F(InterventionsInternalsPageHandlerTest, ...@@ -509,7 +514,7 @@ TEST_F(InterventionsInternalsPageHandlerTest,
TestAndroid(GetFlagsOfflinePageDefaultValue)) { TestAndroid(GetFlagsOfflinePageDefaultValue)) {
page_handler_->GetPreviewsFlagsDetails( page_handler_->GetPreviewsFlagsDetails(
base::BindOnce(&MockGetPreviewsFlagsCallback)); base::BindOnce(&MockGetPreviewsFlagsCallback));
auto offline_page_flag = passed_in_flags.find(kOfflinePageFlag); auto offline_page_flag = passed_in_flags.find(kOfflinePageFlagHtmlId);
ASSERT_NE(passed_in_flags.end(), offline_page_flag); ASSERT_NE(passed_in_flags.end(), offline_page_flag);
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
...@@ -529,7 +534,7 @@ TEST_F(InterventionsInternalsPageHandlerTest, ...@@ -529,7 +534,7 @@ TEST_F(InterventionsInternalsPageHandlerTest,
page_handler_->GetPreviewsFlagsDetails( page_handler_->GetPreviewsFlagsDetails(
base::BindOnce(&MockGetPreviewsFlagsCallback)); base::BindOnce(&MockGetPreviewsFlagsCallback));
auto offline_page_flag = passed_in_flags.find(kOfflinePageFlag); auto offline_page_flag = passed_in_flags.find(kOfflinePageFlagHtmlId);
ASSERT_NE(passed_in_flags.end(), offline_page_flag); ASSERT_NE(passed_in_flags.end(), offline_page_flag);
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
...@@ -549,7 +554,7 @@ TEST_F(InterventionsInternalsPageHandlerTest, ...@@ -549,7 +554,7 @@ TEST_F(InterventionsInternalsPageHandlerTest,
page_handler_->GetPreviewsFlagsDetails( page_handler_->GetPreviewsFlagsDetails(
base::BindOnce(&MockGetPreviewsFlagsCallback)); base::BindOnce(&MockGetPreviewsFlagsCallback));
auto offline_page_flag = passed_in_flags.find(kOfflinePageFlag); auto offline_page_flag = passed_in_flags.find(kOfflinePageFlagHtmlId);
ASSERT_NE(passed_in_flags.end(), offline_page_flag); ASSERT_NE(passed_in_flags.end(), offline_page_flag);
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
......
...@@ -116,21 +116,25 @@ TEST_F('InterventionsInternalsUITest', 'GetPreviewsEnabled', function() { ...@@ -116,21 +116,25 @@ TEST_F('InterventionsInternalsUITest', 'GetPreviewsEnabled', function() {
test('DisplayCorrectStatuses', () => { test('DisplayCorrectStatuses', () => {
// Setup testPageHandler behavior. // Setup testPageHandler behavior.
let testMap = new Map(); let testArray = [
testMap.set('params2', { {
description: 'Params 2', htmlId: 'params1',
enabled: false, description: 'Params 1',
}); enabled: true,
testMap.set('params3', { },
description: 'Param 3', {
enabled: false, htmlId: 'params2',
}); description: 'Params 2',
testMap.set('params1', { enabled: false,
description: 'Params 1', },
enabled: true, {
}); htmlId: 'params3',
description: 'Param 3',
enabled: false,
},
];
window.testPageHandler.setTestingPreviewsModeMap(testMap); window.testPageHandler.setTestingPreviewsModeMap(testArray);
this.setupFnResolver.resolve(); this.setupFnResolver.resolve();
return setupFnResolver.promise return setupFnResolver.promise
...@@ -138,18 +142,12 @@ TEST_F('InterventionsInternalsUITest', 'GetPreviewsEnabled', function() { ...@@ -138,18 +142,12 @@ TEST_F('InterventionsInternalsUITest', 'GetPreviewsEnabled', function() {
return window.testPageHandler.whenCalled('getPreviewsEnabled'); return window.testPageHandler.whenCalled('getPreviewsEnabled');
}) })
.then(() => { .then(() => {
testMap.forEach((value, key) => { testArray.forEach((value) => {
let expected = value.description + ': ' + let expected = value.description + ': ' +
(value.enabled ? 'Enabled' : 'Disabled'); (value.enabled ? 'Enabled' : 'Disabled');
let actual = document.querySelector('#' + key).textContent; let actual = document.querySelector('#' + value.htmlId).textContent;
expectEquals(expected, actual); expectEquals(expected, actual);
}); });
// Test correct order of statuses displayed on page.
let statuses = document.querySelectorAll('.previews-status-value');
for (let i = 1; i < statuses.length; i++) {
expectGE(statuses[i].textContent, statuses[i - 1].textContent);
}
}); });
}); });
...@@ -161,24 +159,28 @@ TEST_F('InterventionsInternalsUITest', 'GetPreviewsFlagsDetails', function() { ...@@ -161,24 +159,28 @@ TEST_F('InterventionsInternalsUITest', 'GetPreviewsFlagsDetails', function() {
test('DisplayCorrectStatuses', () => { test('DisplayCorrectStatuses', () => {
// Setup testPageHandler behavior. // Setup testPageHandler behavior.
let testMap = new Map(); let testArray = [
testMap.set('params2', { {
description: 'Params 2', htmlId: 'params2',
link: 'Link 2', description: 'Params 2',
value: 'Value 2', link: 'Link 2',
}); value: 'Value 2',
testMap.set('params3', { },
description: 'Param 3', {
link: 'Link 3', htmlId: 'params3',
value: 'Value 3', description: 'Param 3',
}); link: 'Link 3',
testMap.set('params1', { value: 'Value 3',
description: 'Params 1', },
link: 'Link 1', {
value: 'Value 1', htmlId: 'params1',
}); description: 'Params 1',
link: 'Link 1',
value: 'Value 1',
},
];
window.testPageHandler.setTestingPreviewsFlagsMap(testMap); window.testPageHandler.setTestingPreviewsFlagsMap(testArray);
this.setupFnResolver.resolve(); this.setupFnResolver.resolve();
return setupFnResolver.promise return setupFnResolver.promise
...@@ -186,7 +188,8 @@ TEST_F('InterventionsInternalsUITest', 'GetPreviewsFlagsDetails', function() { ...@@ -186,7 +188,8 @@ TEST_F('InterventionsInternalsUITest', 'GetPreviewsFlagsDetails', function() {
return window.testPageHandler.whenCalled('getPreviewsFlagsDetails'); return window.testPageHandler.whenCalled('getPreviewsFlagsDetails');
}) })
.then(() => { .then(() => {
testMap.forEach((value, key) => { testArray.forEach((value) => {
let key = value.htmlId;
let actualDescription = let actualDescription =
document.querySelector('#' + key + 'Description'); document.querySelector('#' + key + 'Description');
let actualValue = document.querySelector('#' + key + 'Value'); let actualValue = document.querySelector('#' + key + 'Value');
...@@ -194,12 +197,6 @@ TEST_F('InterventionsInternalsUITest', 'GetPreviewsFlagsDetails', function() { ...@@ -194,12 +197,6 @@ TEST_F('InterventionsInternalsUITest', 'GetPreviewsFlagsDetails', function() {
expectEquals(value.link, actualDescription.getAttribute('href')); expectEquals(value.link, actualDescription.getAttribute('href'));
expectEquals(value.value, actualValue.textContent); expectEquals(value.value, actualValue.textContent);
}); });
// Test correct order of flags displayed on page.
let flags = document.querySelectorAll('.previews-status-value');
for (let i = 1; i < flags.length; i++) {
expectGE(flags[i].textContent, flags[i - 1].textContent);
}
}); });
}); });
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment