/** Verify that an invalid URL is colored correctly by OmniboxUrlEmphasizer.emphasizeUrl(). */ @UiThreadTest @MediumTest @Feature({"Browser", "Main"}) public void testInvalidUrl() { Spannable url = new SpannableStringBuilder("invalidurl"); OmniboxUrlEmphasizer.emphasizeUrl( url, mResources, mProfile, ToolbarModelSecurityLevel.NONE, true, true); EmphasizedUrlSpanHelper[] spans = EmphasizedUrlSpanHelper.getSpansForEmphasizedUrl(url); assertEquals("Unexpected number of spans:", 1, spans.length); spans[0].assertIsColoredSpan( "invalidurl", 0, mResources.getColor(R.color.url_emphasis_domain_and_registry)); }
/** Verify that a 'data:' URL is colored correctly by OmniboxUrlEmphasizer.emphasizeUrl(). */ @UiThreadTest @MediumTest @Feature({"Browser", "Main"}) public void testDataUrl() { Spannable url = new SpannableStringBuilder("data:text/plain;charset=utf-8;base64,VGVzdCBVUkw="); OmniboxUrlEmphasizer.emphasizeUrl( url, mResources, mProfile, ToolbarModelSecurityLevel.NONE, true, true); EmphasizedUrlSpanHelper[] spans = EmphasizedUrlSpanHelper.getSpansForEmphasizedUrl(url); assertEquals("Unexpected number of spans:", 1, spans.length); spans[0].assertIsColoredSpan( "data", 0, mResources.getColor(R.color.url_emphasis_non_emphasized_text)); }
/** * Verify that an internal 'chrome-native://' page is colored correctly by * OmniboxUrlEmphasizer.emphasizeUrl(). */ @UiThreadTest @MediumTest @Feature({"Browser", "Main"}) public void testInternalChromeNativePageUrl() { Spannable url = new SpannableStringBuilder("chrome-native://bookmarks"); OmniboxUrlEmphasizer.emphasizeUrl( url, mResources, mProfile, ToolbarModelSecurityLevel.NONE, true, true); EmphasizedUrlSpanHelper[] spans = EmphasizedUrlSpanHelper.getSpansForEmphasizedUrl(url); assertEquals("Unexpected number of spans:", 3, spans.length); spans[0].assertIsColoredSpan( "chrome-native", 0, mResources.getColor(R.color.url_emphasis_non_emphasized_text)); spans[1].assertIsColoredSpan( "://", 13, mResources.getColor(R.color.url_emphasis_non_emphasized_text)); spans[2].assertIsColoredSpan( "bookmarks", 16, mResources.getColor(R.color.url_emphasis_domain_and_registry)); }
/** * Verify that a very short, warning HTTPS URL is colored correctly by * OmniboxUrlEmphasizer.emphasizeUrl(). */ @UiThreadTest @MediumTest @Feature({"Browser", "Main"}) public void testVeryShortWarningHTTPSUrl() { Spannable url = new SpannableStringBuilder("https://www.dodgysite.com"); OmniboxUrlEmphasizer.emphasizeUrl( url, mResources, mProfile, ToolbarModelSecurityLevel.SECURITY_WARNING, false, true); EmphasizedUrlSpanHelper[] spans = EmphasizedUrlSpanHelper.getSpansForEmphasizedUrl(url); assertEquals("Unexpected number of spans:", 3, spans.length); spans[0].assertIsColoredSpan( "https", 0, mResources.getColor(R.color.url_emphasis_start_scheme_security_warning)); spans[1].assertIsColoredSpan( "://", 5, mResources.getColor(R.color.url_emphasis_non_emphasized_text)); spans[2].assertIsColoredSpan( "www.dodgysite.com", 8, mResources.getColor(R.color.url_emphasis_domain_and_registry)); }
/** * Verify that a short, secure HTTPS URL is colored correctly with light colors by * OmniboxUrlEmphasizer.emphasizeUrl(). */ @UiThreadTest @MediumTest @Feature({"Browser", "Main"}) public void testShortSecureHTTPSUrlWithLightColors() { Spannable url = new SpannableStringBuilder("https://www.google.com/"); OmniboxUrlEmphasizer.emphasizeUrl( url, mResources, mProfile, ToolbarModelSecurityLevel.SECURE, false, false); EmphasizedUrlSpanHelper[] spans = EmphasizedUrlSpanHelper.getSpansForEmphasizedUrl(url); assertEquals("Unexpected number of spans:", 4, spans.length); spans[0].assertIsColoredSpan( "https", 0, mResources.getColor(R.color.url_emphasis_start_scheme_secure)); spans[1].assertIsColoredSpan( "://", 5, mResources.getColor(R.color.url_emphasis_light_non_emphasized_text)); spans[2].assertIsColoredSpan( "www.google.com", 8, mResources.getColor(R.color.url_emphasis_light_domain_and_registry)); spans[3].assertIsColoredSpan( "/", 22, mResources.getColor(R.color.url_emphasis_light_non_emphasized_text)); }
/** * Verify that a long, insecure HTTPS URL is colored correctly by * OmniboxUrlEmphasizer.emphasizeUrl(). */ @UiThreadTest @MediumTest @Feature({"Browser", "Main"}) public void testLongInsecureHTTPSUrl() { Spannable url = new SpannableStringBuilder("https://www.google.com/q?query=abc123&results=1"); OmniboxUrlEmphasizer.emphasizeUrl( url, mResources, mProfile, ToolbarModelSecurityLevel.SECURITY_ERROR, false, true); EmphasizedUrlSpanHelper[] spans = EmphasizedUrlSpanHelper.getSpansForEmphasizedUrl(url); assertEquals("Unexpected number of spans:", 5, spans.length); spans[0].assertIsStrikethroughSpan("https", 0); spans[1].assertIsColoredSpan( "https", 0, mResources.getColor(R.color.url_emphasis_start_scheme_security_error)); spans[2].assertIsColoredSpan( "://", 5, mResources.getColor(R.color.url_emphasis_non_emphasized_text)); spans[3].assertIsColoredSpan( "www.google.com", 8, mResources.getColor(R.color.url_emphasis_domain_and_registry)); spans[4].assertIsColoredSpan( "/q?query=abc123&results=1", 22, mResources.getColor(R.color.url_emphasis_non_emphasized_text)); }