text: // 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")));
  }
  