15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/common/extensions/manifest_tests/extension_manifest_test.h" 62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/common/extensions/manifest_url_handler.h" 7d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)#include "extensions/common/manifest_constants.h" 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "testing/gtest/include/gtest/gtest.h" 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 10d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)namespace errors = extensions::manifest_errors; 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class URLOverridesManifestTest : public ExtensionManifestTest { 132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}; 142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)TEST_F(URLOverridesManifestTest, Override) { 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Testcase testcases[] = { 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Testcase("override_newtab_and_history.json", errors::kMultipleOverrides), 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Testcase("override_invalid_page.json", errors::kInvalidChromeURLOverrides) 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }; 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) RunTestcases(testcases, arraysize(testcases), 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXPECT_TYPE_ERROR); 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) scoped_refptr<extensions::Extension> extension; 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) extension = LoadAndExpectSuccess("override_new_tab.json"); 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXPECT_EQ(extension->url().spec() + "newtab.html", 27868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) extensions::URLOverrides::GetChromeURLOverrides(extension.get()) 28868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) .find("newtab")->second.spec()); 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) extension = LoadAndExpectSuccess("override_history.json"); 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXPECT_EQ(extension->url().spec() + "history.html", 32868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) extensions::URLOverrides::GetChromeURLOverrides(extension.get()) 33868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) .find("history")->second.spec()); 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 35