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

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: 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
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..b0dae65e666b27d9c62fc4a3a0cfbe5c1b912394
--- /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 externalURL("uischeme://external-file/foo/bar");
rohitrao (ping after 24h) 2015/05/18 13:34:56 All of the variables in this file should be cplusp
sdefresne 2015/05/18 14:19:54 Done.
+ GURL notExternalURL("uischeme://foo/bar");
+ GURL stillNotExternalURL("http://external-file/foo/bar");
+ EXPECT_TRUE(UrlIsExternalFileReference(externalURL));
+ EXPECT_FALSE(UrlIsExternalFileReference(notExternalURL));
+ EXPECT_FALSE(UrlIsExternalFileReference(stillNotExternalURL));
+}
+
+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

Powered by Google App Engine
This is Rietveld 408576698