| Index: chrome/browser/ui/webui/prefs_internals_browsertest.cc
|
| diff --git a/chrome/browser/ui/webui/prefs_internals_browsertest.cc b/chrome/browser/ui/webui/prefs_internals_browsertest.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..9bdde8705f72af90afa488901b434e59a6f4d29f
|
| --- /dev/null
|
| +++ b/chrome/browser/ui/webui/prefs_internals_browsertest.cc
|
| @@ -0,0 +1,50 @@
|
| +// Copyright 2017 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 "base/guid.h"
|
| +#include "base/strings/stringprintf.h"
|
| +#include "chrome/browser/profiles/profile.h"
|
| +#include "chrome/browser/ui/browser.h"
|
| +#include "chrome/browser/ui/tabs/tab_strip_model.h"
|
| +#include "chrome/common/pref_names.h"
|
| +#include "chrome/test/base/in_process_browser_test.h"
|
| +#include "chrome/test/base/ui_test_utils.h"
|
| +#include "components/prefs/pref_service.h"
|
| +#include "content/public/browser/web_contents.h"
|
| +#include "content/public/test/browser_test_utils.h"
|
| +#include "url/gurl.h"
|
| +
|
| +using PrefsInternalsTest = InProcessBrowserTest;
|
| +
|
| +IN_PROC_BROWSER_TEST_F(PrefsInternalsTest, TestPrefsAreServed) {
|
| + // Set a preference to something very unique so we can look for it in the
|
| + // generated page.
|
| + std::string guid = base::GenerateGUID();
|
| + GURL fake_homepage_url = GURL("http://example.com/" + guid);
|
| + EXPECT_TRUE(fake_homepage_url.is_valid());
|
| + browser()->profile()->GetPrefs()->SetString(prefs::kHomePage,
|
| + fake_homepage_url.spec());
|
| +
|
| + // First, check that navigation succeeds.
|
| + GURL kUrl("chrome://prefs-internals");
|
| + ui_test_utils::NavigateToURL(browser(), kUrl);
|
| + content::WebContents* web_contents =
|
| + browser()->tab_strip_model()->GetActiveWebContents();
|
| + ASSERT_TRUE(web_contents);
|
| + EXPECT_EQ(kUrl, web_contents->GetLastCommittedURL());
|
| + EXPECT_FALSE(web_contents->IsCrashed());
|
| + EXPECT_FALSE(web_contents->GetInterstitialPage());
|
| +
|
| + // It's difficult to test the content of the page without duplicating the
|
| + // implementation, but we can at least assert that something is being shown.
|
| + bool has_text = false;
|
| + EXPECT_TRUE(content::ExecuteScriptAndExtractBool(
|
| + web_contents,
|
| + base::StringPrintf("window.domAutomationController.send("
|
| + "document.body.textContent && "
|
| + "document.body.textContent.indexOf('%s') >= 0);",
|
| + guid.c_str()),
|
| + &has_text));
|
| + EXPECT_TRUE(has_text);
|
| +}
|
|
|