diff options
author | Kenny Root <kenny@the-b.org> | 2015-09-11 22:05:35 -0700 |
---|---|---|
committer | Kenny Root <kenny@the-b.org> | 2015-09-11 22:05:35 -0700 |
commit | 0bed9c91a9088da9eaf3284351aec86e4fc6bde9 (patch) | |
tree | 3b370a05e2f30511089d787256471219605c0aad /app/src/androidTest/java | |
parent | 7bcd9f1b733b0587c7c09af9097a112809a6fa4d (diff) | |
parent | 705b3461cfa26f074464a32a2642741691340c1f (diff) | |
download | connectbot-0bed9c91a9088da9eaf3284351aec86e4fc6bde9.tar.gz connectbot-0bed9c91a9088da9eaf3284351aec86e4fc6bde9.tar.bz2 connectbot-0bed9c91a9088da9eaf3284351aec86e4fc6bde9.zip |
Merge pull request #195 from kruton/database-refactor
Database refactor, part 1
Diffstat (limited to 'app/src/androidTest/java')
-rw-r--r-- | app/src/androidTest/java/org/connectbot/StartupTest.java | 60 |
1 files changed, 45 insertions, 15 deletions
diff --git a/app/src/androidTest/java/org/connectbot/StartupTest.java b/app/src/androidTest/java/org/connectbot/StartupTest.java index a60d00e..14eabff 100644 --- a/app/src/androidTest/java/org/connectbot/StartupTest.java +++ b/app/src/androidTest/java/org/connectbot/StartupTest.java @@ -1,40 +1,34 @@ package org.connectbot; -import org.connectbot.bean.HostBean; import org.connectbot.util.HostDatabase; -import org.hamcrest.Description; import org.hamcrest.Matcher; -import org.hamcrest.TypeSafeMatcher; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; +import android.content.Context; import android.content.Intent; import android.content.res.Resources; -import android.support.annotation.ColorInt; import android.support.annotation.ColorRes; -import android.support.annotation.NonNull; import android.support.annotation.StringRes; import android.support.test.InstrumentationRegistry; +import android.support.test.espresso.UiController; +import android.support.test.espresso.ViewAction; +import android.support.test.espresso.action.CloseKeyboardAction; import android.support.test.espresso.intent.Intents; -import android.support.test.espresso.matcher.BoundedMatcher; import android.support.test.rule.ActivityTestRule; import android.support.test.runner.AndroidJUnit4; import android.view.View; -import android.widget.ImageView; -import android.widget.TextView; import static android.support.test.espresso.Espresso.onData; import static android.support.test.espresso.Espresso.onView; import static android.support.test.espresso.action.ViewActions.click; -import static android.support.test.espresso.action.ViewActions.closeSoftKeyboard; import static android.support.test.espresso.action.ViewActions.longClick; import static android.support.test.espresso.action.ViewActions.pressBack; import static android.support.test.espresso.action.ViewActions.pressImeActionButton; import static android.support.test.espresso.action.ViewActions.pressMenuKey; import static android.support.test.espresso.action.ViewActions.typeText; -import static android.support.test.espresso.assertion.ViewAssertions.doesNotExist; import static android.support.test.espresso.assertion.ViewAssertions.matches; import static android.support.test.espresso.intent.Intents.intended; import static android.support.test.espresso.intent.matcher.IntentMatchers.hasComponent; @@ -58,8 +52,8 @@ public class StartupTest { @Before public void makeDatabasePristine() { - HostDatabase db = new HostDatabase(InstrumentationRegistry.getTargetContext()); - db.resetDatabase(); + Context testContext = InstrumentationRegistry.getTargetContext(); + HostDatabase.resetInMemoryInstance(testContext); mActivityRule.launchActivity(new Intent()); } @@ -107,9 +101,9 @@ public class StartupTest { } @Test - public void localConnectionCanChangeToRed() throws Exception { - startNewLocalConnectionAndGoBack("Local1"); - changeColor("Local1", R.color.red, R.string.color_red); + public void localConnectionCanChangeToRed() { + startNewLocalConnectionAndGoBack("RedLocal"); + changeColor("RedLocal", R.color.red, R.string.color_red); } /** @@ -163,4 +157,40 @@ public class StartupTest { onView(withId(R.id.console_flip)).check(matches( hasDescendant(allOf(isDisplayed(), withId(R.id.terminal_view))))); } + + /* + * This is to work around a race condition where the software keyboard does not dismiss in time + * and you get a Security Exception. + * + * From: https://code.google.com/p/android-test-kit/issues/detail?id=79#c7 + */ + public static ViewAction closeSoftKeyboard() { + return new ViewAction() { + /** + * The delay time to allow the soft keyboard to dismiss. + */ + private static final long KEYBOARD_DISMISSAL_DELAY_MILLIS = 1000L; + + /** + * The real {@link CloseKeyboardAction} instance. + */ + private final ViewAction mCloseSoftKeyboard = new CloseKeyboardAction(); + + @Override + public Matcher<View> getConstraints() { + return mCloseSoftKeyboard.getConstraints(); + } + + @Override + public String getDescription() { + return mCloseSoftKeyboard.getDescription(); + } + + @Override + public void perform(final UiController uiController, final View view) { + mCloseSoftKeyboard.perform(uiController, view); + uiController.loopMainThreadForAtLeast(KEYBOARD_DISMISSAL_DELAY_MILLIS); + } + }; + } } |