// Copyright 2015 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/ui/webui/log_web_ui_url.h" #include "testing/gtest/include/gtest/gtest.h" #include "url/gurl.h" TEST(LogWebUIUrlTest, ValidUrls) { // Typical WebUI page. EXPECT_TRUE(webui::LogWebUIUrl(GURL("chrome://downloads"))); // WebUI page with a subpage. EXPECT_TRUE(webui::LogWebUIUrl(GURL("chrome://settings/clearBrowserData"))); // Developer tools scheme. EXPECT_TRUE(webui::LogWebUIUrl(GURL("chrome-devtools://devtools"))); #if defined(ENABLE_EXTENSIONS) // Bookmarks Manager (the only currently allowed extension). EXPECT_TRUE(webui::LogWebUIUrl(GURL( "chrome-extension://eemcgdkfndhakfknompkggombfjjjeno"))); #endif } TEST(LogWebUIUrlTest, InvalidUrls) { // HTTP/HTTPS/FTP/etc. schemes should be ignored. EXPECT_FALSE(webui::LogWebUIUrl(GURL("http://google.com?q=pii"))); EXPECT_FALSE(webui::LogWebUIUrl(GURL("https://facebook.com"))); EXPECT_FALSE(webui::LogWebUIUrl(GURL("ftp://ftp.mysite.com"))); // Extensions other than the Bookmarks Manager should also be ignored. EXPECT_FALSE(webui::LogWebUIUrl(GURL( "chrome-extension://mfehgcgbbipciphmccgaenjidiccnmng"))); }