Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(47)

Unified Diff: ios/chrome/browser/chrome_url_util_unittest.mm

Issue 1139383002: [iOS] Upstream URL utilities (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address rohitrao comments Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ios/chrome/browser/chrome_url_util.mm ('k') | ios/chrome/ios_chrome.gyp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ios/chrome/browser/chrome_url_util_unittest.mm
diff --git a/ios/chrome/browser/chrome_url_util_unittest.mm b/ios/chrome/browser/chrome_url_util_unittest.mm
new file mode 100644
index 0000000000000000000000000000000000000000..a4d6e7e2adceead9519a683fe69de1b95448cab2
--- /dev/null
+++ b/ios/chrome/browser/chrome_url_util_unittest.mm
@@ -0,0 +1,65 @@
+// Copyright 2013 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.
+
+#import "ios/chrome/browser/chrome_url_util.h"
+
+#include "ios/public/provider/chrome/browser/chrome_browser_provider.h"
+#import "net/base/mac/url_conversions.h"
+#import "testing/gtest_mac.h"
+#include "url/gurl.h"
+
+namespace {
+
+TEST(ChromeURLUtilTest, TestIsExternalFileReference) {
+ GURL external_url("uischeme://external-file/foo/bar");
+ GURL not_external_url("uischeme://foo/bar");
+ GURL still_not_external_url("http://external-file/foo/bar");
+ EXPECT_TRUE(UrlIsExternalFileReference(external_url));
+ EXPECT_FALSE(UrlIsExternalFileReference(not_external_url));
+ EXPECT_FALSE(UrlIsExternalFileReference(still_not_external_url));
+}
+
+TEST(ChromeURLUtilTest, TestRewriteURLChromium) {
+ [[ChromeAppConstants sharedInstance] setCallbackSchemeForTesting:@"chromium"];
+ NSURL* expected = [NSURL URLWithString:@"chromium://"];
+ NSURL* rewritten = UrlToLaunchChrome();
+ EXPECT_NSEQ([expected absoluteString], [rewritten absoluteString]);
+}
+
+TEST(ChromeURLUtilTest, TestRewriteURLGoogleChrome) {
+ [[ChromeAppConstants sharedInstance]
+ setCallbackSchemeForTesting:@"googlechrome"];
+ NSURL* expected = [NSURL URLWithString:@"googlechrome://"];
+ NSURL* rewritten = UrlToLaunchChrome();
+ EXPECT_NSEQ([expected absoluteString], [rewritten absoluteString]);
+}
+
+TEST(ChromeURLUtilTest, TestAppIconURL) {
+ [[ChromeAppConstants sharedInstance] setAppIconURLProviderForTesting:nil];
+ NSURL* url = UrlOfChromeAppIcon(29, 29);
+ EXPECT_TRUE(url);
+ GURL gurl(net::GURLWithNSURL(url));
+ EXPECT_TRUE(gurl.is_valid());
+}
+
+const char* kSchemeTestData[] = {
+ "http://foo.com",
+ "https://foo.com",
+ "data:text/html;charset=utf-8,Hello",
+ "about:blank",
+ "uischeme://settings",
+};
+
+TEST(ChromeURLUtilTest, NSURLHasChromeScheme) {
+ for (unsigned int i = 0; i < arraysize(kSchemeTestData); ++i) {
+ const char* url = kSchemeTestData[i];
+ bool nsurl_result = UrlHasChromeScheme(
+ [NSURL URLWithString:[NSString stringWithUTF8String:url]]);
+ bool gurl_result = GURL(url).SchemeIs(
+ ios::GetChromeBrowserProvider()->GetChromeUIScheme());
+ EXPECT_EQ(gurl_result, nsurl_result) << "Scheme check failed for " << url;
+ }
+}
+
+} // namespace
« no previous file with comments | « ios/chrome/browser/chrome_url_util.mm ('k') | ios/chrome/ios_chrome.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698