| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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.externalnav; | 5 package org.chromium.chrome.browser.externalnav; |
| 6 | 6 |
| 7 import android.content.IntentFilter; | 7 import android.content.IntentFilter; |
| 8 import android.content.pm.ActivityInfo; | 8 import android.content.pm.ActivityInfo; |
| 9 import android.content.pm.ResolveInfo; | 9 import android.content.pm.ResolveInfo; |
| 10 import android.support.test.filters.SmallTest; | 10 import android.support.test.filters.SmallTest; |
| 11 | 11 |
| 12 import org.chromium.chrome.browser.ChromeActivity; | 12 import org.chromium.chrome.browser.ChromeActivity; |
| 13 import org.chromium.chrome.browser.instantapps.InstantAppsHandler; |
| 13 import org.chromium.chrome.test.ChromeActivityTestCaseBase; | 14 import org.chromium.chrome.test.ChromeActivityTestCaseBase; |
| 14 | 15 |
| 15 import java.util.ArrayList; | 16 import java.util.ArrayList; |
| 16 import java.util.Arrays; | 17 import java.util.Arrays; |
| 17 import java.util.List; | 18 import java.util.List; |
| 18 | 19 |
| 19 /** | 20 /** |
| 20 * Instrumentation tests for {@link ExternalNavigationHandler}. | 21 * Instrumentation tests for {@link ExternalNavigationHandler}. |
| 21 */ | 22 */ |
| 22 public class ExternalNavigationDelegateImplTest extends ChromeActivityTestCaseBa
se<ChromeActivity> { | 23 public class ExternalNavigationDelegateImplTest extends ChromeActivityTestCaseBa
se<ChromeActivity> { |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 95 resolveInfos, packageName).size()); | 96 resolveInfos, packageName).size()); |
| 96 } | 97 } |
| 97 | 98 |
| 98 @SmallTest | 99 @SmallTest |
| 99 public void testIsPackageSpecializeHandler_withEphemeralResolver() { | 100 public void testIsPackageSpecializeHandler_withEphemeralResolver() { |
| 100 String packageName = ""; | 101 String packageName = ""; |
| 101 ResolveInfo info = new ResolveInfo(); | 102 ResolveInfo info = new ResolveInfo(); |
| 102 info.filter = new IntentFilter(); | 103 info.filter = new IntentFilter(); |
| 103 info.filter.addDataPath("somepath", 2); | 104 info.filter.addDataPath("somepath", 2); |
| 104 info.activityInfo = new ActivityInfo(); | 105 info.activityInfo = new ActivityInfo(); |
| 105 info.activityInfo.name = ExternalNavigationDelegateImpl.EPHEMERAL_INSTAL
LER_CLASS; | 106 info.activityInfo.name = InstantAppsHandler.EPHEMERAL_INSTALLER_CLASS; |
| 106 info.activityInfo.packageName = "com.google.android.gms"; | 107 info.activityInfo.packageName = "com.google.android.gms"; |
| 107 List<ResolveInfo> resolveInfos = makeResolveInfos(info); | 108 List<ResolveInfo> resolveInfos = makeResolveInfos(info); |
| 108 // Ephemeral resolver is not counted as a specialized handler. | 109 // Ephemeral resolver is not counted as a specialized handler. |
| 109 assertEquals(0, ExternalNavigationDelegateImpl.getSpecializedHandlersWit
hFilter( | 110 assertEquals(0, ExternalNavigationDelegateImpl.getSpecializedHandlersWit
hFilter( |
| 110 resolveInfos, packageName).size()); | 111 resolveInfos, packageName).size()); |
| 111 } | 112 } |
| 112 | 113 |
| 113 @SmallTest | 114 @SmallTest |
| 114 public void testIsDownload_noSystemDownloadManager() throws Exception { | 115 public void testIsDownload_noSystemDownloadManager() throws Exception { |
| 115 ExternalNavigationDelegateImpl delegate = new ExternalNavigationDelegate
Impl( | 116 ExternalNavigationDelegateImpl delegate = new ExternalNavigationDelegate
Impl( |
| 116 getActivity().getActivityTab()); | 117 getActivity().getActivityTab()); |
| 117 assertTrue("pdf should be a download, no viewer in Android Chrome", | 118 assertTrue("pdf should be a download, no viewer in Android Chrome", |
| 118 delegate.isPdfDownload("http://somesampeleurldne.com/file.pdf"))
; | 119 delegate.isPdfDownload("http://somesampeleurldne.com/file.pdf"))
; |
| 119 assertFalse("URL is not a file, but web page", | 120 assertFalse("URL is not a file, but web page", |
| 120 delegate.isPdfDownload("http://somesampleurldne.com/index.html")
); | 121 delegate.isPdfDownload("http://somesampleurldne.com/index.html")
); |
| 121 assertFalse("URL is not a file url", | 122 assertFalse("URL is not a file url", |
| 122 delegate.isPdfDownload("http://somesampeleurldne.com/not.a.real.
extension")); | 123 delegate.isPdfDownload("http://somesampeleurldne.com/not.a.real.
extension")); |
| 123 assertFalse("URL is an image, can be viewed in Chrome", | 124 assertFalse("URL is an image, can be viewed in Chrome", |
| 124 delegate.isPdfDownload("http://somesampleurldne.com/image.jpg"))
; | 125 delegate.isPdfDownload("http://somesampleurldne.com/image.jpg"))
; |
| 125 assertFalse("URL is a text file can be viewed in Chrome", | 126 assertFalse("URL is a text file can be viewed in Chrome", |
| 126 delegate.isPdfDownload("http://somesampleurldne.com/copy.txt")); | 127 delegate.isPdfDownload("http://somesampleurldne.com/copy.txt")); |
| 127 } | 128 } |
| 128 | 129 |
| 129 @Override | 130 @Override |
| 130 public void startMainActivity() throws InterruptedException { | 131 public void startMainActivity() throws InterruptedException { |
| 131 startMainActivityOnBlankPage(); | 132 startMainActivityOnBlankPage(); |
| 132 } | 133 } |
| 133 } | 134 } |
| OLD | NEW |