blob: d61957dfc0eb986fc87181586de992cb708e397f [file] [log] [blame]
// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "components/browsing_data/content/browsing_data_helper.h"
#include "content/public/common/url_constants.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "url/gurl.h"
#include "url/url_constants.h"
namespace browsing_data {
namespace {
class BrowsingDataHelperTest : public testing::Test {
public:
BrowsingDataHelperTest() {}
BrowsingDataHelperTest(const BrowsingDataHelperTest&) = delete;
BrowsingDataHelperTest& operator=(const BrowsingDataHelperTest&) = delete;
~BrowsingDataHelperTest() override {}
bool IsWebScheme(const std::string& scheme) {
GURL test(scheme + "://example.com");
return (HasWebScheme(test) && browsing_data::IsWebScheme(scheme));
}
};
TEST_F(BrowsingDataHelperTest, WebStorageSchemesAreWebSchemes) {
EXPECT_TRUE(IsWebScheme(url::kHttpScheme));
EXPECT_TRUE(IsWebScheme(url::kHttpsScheme));
EXPECT_TRUE(IsWebScheme(url::kFileScheme));
EXPECT_TRUE(IsWebScheme(url::kFtpScheme));
EXPECT_TRUE(IsWebScheme(url::kWsScheme));
EXPECT_TRUE(IsWebScheme(url::kWssScheme));
}
TEST_F(BrowsingDataHelperTest, ChromeSchemesAreNotWebSchemes) {
EXPECT_FALSE(IsWebScheme(url::kAboutScheme));
EXPECT_FALSE(IsWebScheme(content::kChromeDevToolsScheme));
EXPECT_FALSE(IsWebScheme(content::kChromeUIScheme));
EXPECT_FALSE(IsWebScheme(url::kJavaScriptScheme));
EXPECT_FALSE(IsWebScheme(url::kMailToScheme));
EXPECT_FALSE(IsWebScheme(content::kViewSourceScheme));
}
TEST_F(BrowsingDataHelperTest, SchemesThatCantStoreDataDontMatchAnything) {
EXPECT_FALSE(IsWebScheme(url::kDataScheme));
EXPECT_FALSE(IsWebScheme("feed"));
EXPECT_FALSE(IsWebScheme(url::kBlobScheme));
EXPECT_FALSE(IsWebScheme(url::kFileSystemScheme));
EXPECT_FALSE(IsWebScheme("invalid-scheme-i-just-made-up"));
}
} // namespace
} // namespace browsing_data