1c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch// Copyright 2014 The Chromium Authors. All rights reserved. 2c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// found in the LICENSE file. 4c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 5c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch#include "chrome/browser/translate/translate_service.h" 6c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 7c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "content/public/common/url_constants.h" 8c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "testing/gtest/include/gtest/gtest.h" 9eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "url/gurl.h" 10c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 115d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#if defined(OS_CHROMEOS) 1258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)#include "chrome/browser/chromeos/file_manager/app_id.h" 13c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "extensions/common/constants.h" 14c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#endif 15c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 16c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen MurdochTEST(TranslateServiceTest, CheckTranslatableURL) { 17c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) GURL empty_url = GURL(std::string()); 18c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch EXPECT_FALSE(TranslateService::IsTranslatableURL(empty_url)); 19c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 205d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) std::string chrome = std::string(content::kChromeUIScheme) + "://flags"; 21c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) GURL chrome_url = GURL(chrome); 22c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch EXPECT_FALSE(TranslateService::IsTranslatableURL(chrome_url)); 23c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 245d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) std::string devtools = std::string(content::kChromeDevToolsScheme) + "://"; 25c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) GURL devtools_url = GURL(devtools); 26c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch EXPECT_FALSE(TranslateService::IsTranslatableURL(devtools_url)); 27c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 285d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#if defined(OS_CHROMEOS) 29c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch std::string filemanager = std::string(extensions::kExtensionScheme) + 30c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch std::string("://") + 31c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch std::string(file_manager::kFileManagerAppId); 32c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) GURL filemanager_url = GURL(filemanager); 33c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch EXPECT_FALSE(TranslateService::IsTranslatableURL(filemanager_url)); 34c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#endif 35c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 36cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) std::string ftp = std::string(url::kFtpScheme) + "://google.com/pub"; 37c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) GURL ftp_url = GURL(ftp); 38c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch EXPECT_FALSE(TranslateService::IsTranslatableURL(ftp_url)); 39c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 40c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) GURL right_url = GURL("http://www.tamurayukari.com/"); 41c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch EXPECT_TRUE(TranslateService::IsTranslatableURL(right_url)); 42c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 43