1// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "chrome/common/extensions/manifest_tests/chrome_manifest_test.h" 6#include "chrome/common/extensions/manifest_url_handler.h" 7#include "extensions/common/manifest_constants.h" 8#include "testing/gtest/include/gtest/gtest.h" 9 10namespace errors = extensions::manifest_errors; 11 12class URLOverridesManifestTest : public ChromeManifestTest { 13}; 14 15TEST_F(URLOverridesManifestTest, Override) { 16 Testcase testcases[] = { 17 Testcase("override_newtab_and_history.json", errors::kMultipleOverrides), 18 Testcase("override_invalid_page.json", errors::kInvalidChromeURLOverrides) 19 }; 20 RunTestcases(testcases, arraysize(testcases), 21 EXPECT_TYPE_ERROR); 22 23 scoped_refptr<extensions::Extension> extension; 24 25 extension = LoadAndExpectSuccess("override_new_tab.json"); 26 EXPECT_EQ(extension->url().spec() + "newtab.html", 27 extensions::URLOverrides::GetChromeURLOverrides(extension.get()) 28 .find("newtab")->second.spec()); 29 30 extension = LoadAndExpectSuccess("override_history.json"); 31 EXPECT_EQ(extension->url().spec() + "history.html", 32 extensions::URLOverrides::GetChromeURLOverrides(extension.get()) 33 .find("history")->second.spec()); 34} 35