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

Side by Side Diff: chrome/android/javatests/src/org/chromium/chrome/browser/UrlUtilitiesTest.java

Issue 1357563002: Expose FormatUrlForSecurityDisplay to Java on Android. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Using a fake scheme in the test makes formatUrlForSecurityDisplay be conservative, breaking the tes… Created 5 years, 3 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.chrome.browser; 5 package org.chromium.chrome.browser;
6 6
7 import android.test.InstrumentationTestCase;
8 import android.test.suitebuilder.annotation.SmallTest; 7 import android.test.suitebuilder.annotation.SmallTest;
9 8
10 import org.chromium.base.test.util.Feature; 9 import org.chromium.base.test.util.Feature;
10 import org.chromium.content.browser.test.NativeLibraryTestBase;
11 11
12 import java.net.URI; 12 import java.net.URI;
13 13
14 public class UrlUtilitiesTest extends InstrumentationTestCase { 14 public class UrlUtilitiesTest extends NativeLibraryTestBase {
15 @SmallTest 15 @SmallTest
16 public void testIsAcceptedScheme() { 16 public void testIsAcceptedScheme() {
17 assertTrue(UrlUtilities.isAcceptedScheme("about:awesome")); 17 assertTrue(UrlUtilities.isAcceptedScheme("about:awesome"));
18 assertTrue(UrlUtilities.isAcceptedScheme("data:data")); 18 assertTrue(UrlUtilities.isAcceptedScheme("data:data"));
19 assertTrue(UrlUtilities.isAcceptedScheme( 19 assertTrue(UrlUtilities.isAcceptedScheme(
20 "https://user:pass@:awesome.com:9000/bad-scheme:#fake:")); 20 "https://user:pass@:awesome.com:9000/bad-scheme:#fake:"));
21 assertTrue(UrlUtilities.isAcceptedScheme("http://awesome.example.com/")) ; 21 assertTrue(UrlUtilities.isAcceptedScheme("http://awesome.example.com/")) ;
22 assertTrue(UrlUtilities.isAcceptedScheme("file://awesome.example.com/")) ; 22 assertTrue(UrlUtilities.isAcceptedScheme("file://awesome.example.com/")) ;
23 assertTrue(UrlUtilities.isAcceptedScheme("inline:skates.co.uk")); 23 assertTrue(UrlUtilities.isAcceptedScheme("inline:skates.co.uk"));
24 assertTrue(UrlUtilities.isAcceptedScheme("javascript:alert(1)")); 24 assertTrue(UrlUtilities.isAcceptedScheme("javascript:alert(1)"));
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 assertTrue(UrlUtilities.isValidForIntentFallbackNavigation( 66 assertTrue(UrlUtilities.isValidForIntentFallbackNavigation(
67 "https://user:pass@:awesome.com:9000/bad-scheme:#fake:")); 67 "https://user:pass@:awesome.com:9000/bad-scheme:#fake:"));
68 assertTrue(UrlUtilities.isValidForIntentFallbackNavigation("http://aweso me.example.com/")); 68 assertTrue(UrlUtilities.isValidForIntentFallbackNavigation("http://aweso me.example.com/"));
69 assertFalse(UrlUtilities.isValidForIntentFallbackNavigation("inline:skat es.co.uk")); 69 assertFalse(UrlUtilities.isValidForIntentFallbackNavigation("inline:skat es.co.uk"));
70 assertFalse(UrlUtilities.isValidForIntentFallbackNavigation("javascript: alert(1)")); 70 assertFalse(UrlUtilities.isValidForIntentFallbackNavigation("javascript: alert(1)"));
71 assertFalse(UrlUtilities.isValidForIntentFallbackNavigation("")); 71 assertFalse(UrlUtilities.isValidForIntentFallbackNavigation(""));
72 } 72 }
73 73
74 @SmallTest 74 @SmallTest
75 @Feature({"Webapps"}) 75 @Feature({"Webapps"})
76 public void testGetOriginForDisplay() { 76 public void testFormatUrlForSecurityDisplay() {
77 loadNativeLibraryNoBrowserProcess();
78
77 URI uri; 79 URI uri;
78 80
79 uri = URI.create("http://chopped.com/is/awesome"); 81 uri = URI.create("http://chopped.com/is/awesome");
80 assertEquals("http://chopped.com", UrlUtilities.getOriginForDisplay(uri, true)); 82 assertEquals("http://chopped.com", UrlUtilities.formatUrlForSecurityDisp lay(uri, true));
81 assertEquals("chopped.com", UrlUtilities.getOriginForDisplay(uri, false) ); 83 assertEquals("chopped.com", UrlUtilities.formatUrlForSecurityDisplay(uri , false));
82 84
83 uri = URI.create("http://lopped.com"); 85 uri = URI.create("http://lopped.com");
84 assertEquals("http://lopped.com", UrlUtilities.getOriginForDisplay(uri, true)); 86 assertEquals("http://lopped.com", UrlUtilities.formatUrlForSecurityDispl ay(uri, true));
85 assertEquals("lopped.com", UrlUtilities.getOriginForDisplay(uri, false)) ; 87 assertEquals("lopped.com", UrlUtilities.formatUrlForSecurityDisplay(uri, false));
86 88
87 uri = URI.create("http://dropped.com?things"); 89 uri = URI.create("http://dropped.com?things");
88 assertEquals("http://dropped.com", UrlUtilities.getOriginForDisplay(uri, true)); 90 assertEquals("http://dropped.com", UrlUtilities.formatUrlForSecurityDisp lay(uri, true));
89 assertEquals("dropped.com", UrlUtilities.getOriginForDisplay(uri, false) ); 91 assertEquals("dropped.com", UrlUtilities.formatUrlForSecurityDisplay(uri , false));
90 92
91 uri = URI.create("http://dfalcant@stopped.com:1234"); 93 uri = URI.create("http://dfalcant@stopped.com:1234");
92 assertEquals("http://stopped.com:1234", UrlUtilities.getOriginForDisplay (uri, true)); 94 assertEquals(
93 assertEquals("stopped.com:1234", UrlUtilities.getOriginForDisplay(uri, f alse)); 95 "http://stopped.com:1234", UrlUtilities.formatUrlForSecurityDisp lay(uri, true));
96 assertEquals("stopped.com:1234", UrlUtilities.formatUrlForSecurityDispla y(uri, false));
94 97
95 uri = URI.create("http://dfalcant:secret@stopped.com:9999"); 98 uri = URI.create("http://dfalcant:secret@stopped.com:9999");
96 assertEquals("http://stopped.com:9999", UrlUtilities.getOriginForDisplay (uri, true)); 99 assertEquals(
97 assertEquals("stopped.com:9999", UrlUtilities.getOriginForDisplay(uri, f alse)); 100 "http://stopped.com:9999", UrlUtilities.formatUrlForSecurityDisp lay(uri, true));
101 assertEquals("stopped.com:9999", UrlUtilities.formatUrlForSecurityDispla y(uri, false));
98 102
99 uri = URI.create("chrome://settings:443"); 103 uri = URI.create("chrome://settings:443");
100 assertEquals("chrome://settings:443", UrlUtilities.getOriginForDisplay(u ri, true)); 104 assertEquals("chrome://settings:443", UrlUtilities.formatUrlForSecurityD isplay(uri, true));
101 assertEquals("settings:443", UrlUtilities.getOriginForDisplay(uri, false )); 105 assertEquals("chrome://settings:443", UrlUtilities.formatUrlForSecurityD isplay(uri, false));
102 106
103 uri = URI.create("about:blank"); 107 uri = URI.create("about:blank");
104 assertEquals("about:blank", UrlUtilities.getOriginForDisplay(uri, true)) ; 108 assertEquals("about:blank", UrlUtilities.formatUrlForSecurityDisplay(uri , true));
105 assertEquals("about:blank", UrlUtilities.getOriginForDisplay(uri, false) ); 109 assertEquals("about:blank", UrlUtilities.formatUrlForSecurityDisplay(uri , false));
106 } 110 }
107 111
108 @SmallTest 112 @SmallTest
109 public void testValidateIntentUrl() { 113 public void testValidateIntentUrl() {
110 // Valid action, hostname, and (empty) path. 114 // Valid action, hostname, and (empty) path.
111 assertTrue(UrlUtilities.validateIntentUrl( 115 assertTrue(UrlUtilities.validateIntentUrl(
112 "intent://10010#Intent;scheme=tel;action=com.google.android.apps ." 116 "intent://10010#Intent;scheme=tel;action=com.google.android.apps ."
113 + "authenticator.AUTHENTICATE;end")); 117 + "authenticator.AUTHENTICATE;end"));
114 // Valid package, scheme, hostname, and path. 118 // Valid package, scheme, hostname, and path.
115 assertTrue(UrlUtilities.validateIntentUrl( 119 assertTrue(UrlUtilities.validateIntentUrl(
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 "intent://wump-hey.example.com/#Intent;package=com.example.wump; " 171 "intent://wump-hey.example.com/#Intent;package=com.example.wump; "
168 + "category=42%_by_volume;end")); 172 + "category=42%_by_volume;end"));
169 // Incorrectly URL-encoded. 173 // Incorrectly URL-encoded.
170 assertFalse(UrlUtilities.validateIntentUrl( 174 assertFalse(UrlUtilities.validateIntentUrl(
171 "intent://testing/#Intent;package=cybergoat.noodle.crumpet;" 175 "intent://testing/#Intent;package=cybergoat.noodle.crumpet;"
172 + "component=wump.noodle/Crumpet;i.pumpkinCount%%3D=42;" 176 + "component=wump.noodle/Crumpet;i.pumpkinCount%%3D=42;"
173 + "S.goat=⋚end")); 177 + "S.goat=⋚end"));
174 } 178 }
175 179
176 } 180 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698