| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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.test; | 5 package org.chromium.chrome.test; |
| 6 | 6 |
| 7 import android.content.Context; |
| 7 import android.os.Bundle; | 8 import android.os.Bundle; |
| 8 import android.text.TextUtils; | 9 import android.text.TextUtils; |
| 9 import android.util.Log; | 10 import android.util.Log; |
| 10 | 11 |
| 11 import com.google.android.gms.common.ConnectionResult; | 12 import com.google.android.gms.common.ConnectionResult; |
| 12 import com.google.android.gms.common.GoogleApiAvailability; | 13 import com.google.android.gms.common.GoogleApiAvailability; |
| 13 | 14 |
| 14 import junit.framework.TestCase; | 15 import junit.framework.TestCase; |
| 15 | 16 |
| 16 import org.chromium.base.test.BaseInstrumentationTestRunner; | 17 import org.chromium.base.test.BaseInstrumentationTestRunner; |
| 17 import org.chromium.base.test.BaseTestResult; | 18 import org.chromium.base.test.BaseTestResult; |
| 19 import org.chromium.base.test.util.RestrictionSkipCheck; |
| 18 import org.chromium.base.test.util.SkipCheck; | 20 import org.chromium.base.test.util.SkipCheck; |
| 19 import org.chromium.chrome.browser.util.FeatureUtilities; | 21 import org.chromium.chrome.browser.util.FeatureUtilities; |
| 20 import org.chromium.chrome.test.util.ChromeRestriction; | 22 import org.chromium.chrome.test.util.ChromeRestriction; |
| 21 import org.chromium.chrome.test.util.DisableInTabbedMode; | 23 import org.chromium.chrome.test.util.DisableInTabbedMode; |
| 22 import org.chromium.policy.test.annotations.Policies; | 24 import org.chromium.policy.test.annotations.Policies; |
| 23 import org.chromium.ui.base.DeviceFormFactor; | 25 import org.chromium.ui.base.DeviceFormFactor; |
| 24 | 26 |
| 25 import java.lang.reflect.Method; | 27 import java.lang.reflect.Method; |
| 26 | 28 |
| 27 /** | 29 /** |
| 28 * An Instrumentation test runner that optionally spawns a test HTTP server. | 30 * An Instrumentation test runner that optionally spawns a test HTTP server. |
| 29 * The server's root directory is the device's external storage directory. | 31 * The server's root directory is the device's external storage directory. |
| 30 * | 32 * |
| 31 * TODO(jbudorick): remove uses of deprecated org.apache.* crbug.com/488192 | 33 * TODO(jbudorick): remove uses of deprecated org.apache.* crbug.com/488192 |
| 32 */ | 34 */ |
| 33 @SuppressWarnings("deprecation") | 35 @SuppressWarnings("deprecation") |
| 34 public class ChromeInstrumentationTestRunner extends BaseInstrumentationTestRunn
er { | 36 public class ChromeInstrumentationTestRunner extends BaseInstrumentationTestRunn
er { |
| 35 | 37 |
| 36 private static final String TAG = "ChromeInstrumentationTestRunner"; | 38 private static final String TAG = "ChromeInstrumentationTestRunner"; |
| 37 | 39 |
| 38 @Override | 40 @Override |
| 39 public void onCreate(Bundle arguments) { | 41 public void onCreate(Bundle arguments) { |
| 40 super.onCreate(arguments); | 42 super.onCreate(arguments); |
| 41 } | 43 } |
| 42 | 44 |
| 43 @Override | 45 @Override |
| 44 protected void addTestHooks(BaseTestResult result) { | 46 protected void addTestHooks(BaseTestResult result) { |
| 45 super.addTestHooks(result); | 47 super.addTestHooks(result); |
| 46 result.addSkipCheck(new DisableInTabbedModeSkipCheck()); | 48 result.addSkipCheck(new DisableInTabbedModeSkipCheck()); |
| 47 result.addSkipCheck(new ChromeRestrictionSkipCheck()); | 49 result.addSkipCheck(new ChromeRestrictionSkipCheck(getTargetContext())); |
| 48 | 50 |
| 49 result.addPreTestHook(Policies.getRegistrationHook()); | 51 result.addPreTestHook(Policies.getRegistrationHook()); |
| 50 } | 52 } |
| 51 | 53 |
| 52 private class ChromeRestrictionSkipCheck extends RestrictionSkipCheck { | 54 private class ChromeRestrictionSkipCheck extends RestrictionSkipCheck { |
| 53 | 55 |
| 56 public ChromeRestrictionSkipCheck(Context targetContext) { |
| 57 super(targetContext); |
| 58 } |
| 59 |
| 54 @Override | 60 @Override |
| 55 protected boolean restrictionApplies(String restriction) { | 61 protected boolean restrictionApplies(String restriction) { |
| 56 if (TextUtils.equals(restriction, ChromeRestriction.RESTRICTION_TYPE
_PHONE) | 62 if (TextUtils.equals(restriction, ChromeRestriction.RESTRICTION_TYPE
_PHONE) |
| 57 && DeviceFormFactor.isTablet(getTargetContext())) { | 63 && DeviceFormFactor.isTablet(getTargetContext())) { |
| 58 return true; | 64 return true; |
| 59 } | 65 } |
| 60 if (TextUtils.equals(restriction, ChromeRestriction.RESTRICTION_TYPE
_TABLET) | 66 if (TextUtils.equals(restriction, ChromeRestriction.RESTRICTION_TYPE
_TABLET) |
| 61 && !DeviceFormFactor.isTablet(getTargetContext())) { | 67 && !DeviceFormFactor.isTablet(getTargetContext())) { |
| 62 return true; | 68 return true; |
| 63 } | 69 } |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 98 } | 104 } |
| 99 } | 105 } |
| 100 } catch (NoSuchMethodException e) { | 106 } catch (NoSuchMethodException e) { |
| 101 Log.e(TAG, "Couldn't find test method: " + e.toString()); | 107 Log.e(TAG, "Couldn't find test method: " + e.toString()); |
| 102 } | 108 } |
| 103 | 109 |
| 104 return false; | 110 return false; |
| 105 } | 111 } |
| 106 } | 112 } |
| 107 } | 113 } |
| OLD | NEW |