diff options
author | jhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-11 20:27:04 +0000 |
---|---|---|
committer | jhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-11 20:27:04 +0000 |
commit | 9d1a9e27dc1e27bc1ee30d934e470e5bb8291cec (patch) | |
tree | 02cd6700d88b0718cc4e4e99f5be42352926e3d5 | |
parent | 51683385861cc8ebdcf659091f5c64232692c7ae (diff) | |
download | chromium_src-9d1a9e27dc1e27bc1ee30d934e470e5bb8291cec.zip chromium_src-9d1a9e27dc1e27bc1ee30d934e470e5bb8291cec.tar.gz chromium_src-9d1a9e27dc1e27bc1ee30d934e470e5bb8291cec.tar.bz2 |
TTF: Add tests for WillHandleBrowserAboutURL.
BUG=none
TEST=BrowserAboutHandlerTest.WillHandleBrowserAboutURL
Review URL: http://codereview.chromium.org/2712007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49585 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/browser_about_handler_unittest.cc | 99 | ||||
-rwxr-xr-x | chrome/chrome_tests.gypi | 1 |
2 files changed, 100 insertions, 0 deletions
diff --git a/chrome/browser/browser_about_handler_unittest.cc b/chrome/browser/browser_about_handler_unittest.cc new file mode 100644 index 0000000..d83125b --- /dev/null +++ b/chrome/browser/browser_about_handler_unittest.cc @@ -0,0 +1,99 @@ +// Copyright (c) 2010 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/basictypes.h" +#include "base/scoped_ptr.h" +#include "chrome/browser/browser_about_handler.h" +#include "chrome/common/url_constants.h" +#include "chrome/renderer/about_handler.h" +#include "googleurl/src/gurl.h" +#include "testing/gtest/include/gtest/gtest.h" + +TEST(BrowserAboutHandlerTest, WillHandleBrowserAboutURL) { + struct AboutURLTestData { + GURL test_url; + GURL result_url; + bool about_handled; + bool browser_handled; + } test_data[] = { + { + GURL("http://google.com"), + GURL("http://google.com"), + false, + false + }, + { + GURL(chrome::kAboutBlankURL), + GURL(chrome::kAboutBlankURL), + false, + false + }, + { + GURL(std::string(chrome::kAboutCacheURL) + "/mercury"), + GURL(std::string(chrome::kNetworkViewCacheURL) + "mercury"), + false, + true + }, + { + GURL(std::string(chrome::kAboutNetInternalsURL) + "/venus"), + GURL(std::string(chrome::kNetworkViewInternalsURL) + "venus"), + false, + true + }, + { + GURL(std::string(chrome::kAboutAppCacheInternalsURL) + "/earth"), + GURL(std::string(chrome::kAppCacheViewInternalsURL) + "earth"), + false, + true + }, + { + GURL(chrome::kAboutPluginsURL), + GURL(chrome::kChromeUIPluginsURL), + false, + true + }, + { + GURL(chrome::kAboutCrashURL), + GURL(chrome::kAboutCrashURL), + true, + false + }, + { + GURL(chrome::kAboutHangURL), + GURL(chrome::kAboutHangURL), + true, + false + }, + { + GURL(chrome::kAboutShorthangURL), + GURL(chrome::kAboutShorthangURL), + true, + false + }, + { + GURL("about:memory"), + GURL("chrome://about/memory-redirect"), + false, + true + }, + { + GURL("about:mars"), + GURL("chrome://about/mars"), + false, + true + }, + }; + + for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_data); ++i) { + GURL url(test_data[i].test_url); + EXPECT_EQ(test_data[i].about_handled, AboutHandler::WillHandle(url)); + EXPECT_EQ(test_data[i].browser_handled, + WillHandleBrowserAboutURL(&url, NULL)); + EXPECT_EQ(test_data[i].result_url, url); + } + + // Crash the browser process for about:inducebrowsercrashforrealz. + GURL url(chrome::kAboutBrowserCrash); + EXPECT_DEATH(WillHandleBrowserAboutURL(&url, NULL), ""); +} diff --git a/chrome/chrome_tests.gypi b/chrome/chrome_tests.gypi index d7fbb15..be36ffa 100755 --- a/chrome/chrome_tests.gypi +++ b/chrome/chrome_tests.gypi @@ -586,6 +586,7 @@ 'browser/bookmarks/bookmark_model_test_utils.h', 'browser/bookmarks/bookmark_model_unittest.cc', 'browser/bookmarks/bookmark_utils_unittest.cc', + 'browser/browser_about_handler_unittest.cc', 'browser/browser_accessibility_unittest.cc', 'browser/browser_commands_unittest.cc', 'browser/browser_theme_pack_unittest.cc', |