updated checksums, EditKeyTest

This commit is contained in:
Tobias Erthal
2016-09-20 16:18:43 +02:00
parent 5ec990d436
commit 7c3ac49d55
4 changed files with 40 additions and 18 deletions

View File

@@ -27,10 +27,13 @@ import android.view.View;
import android.widget.ViewAnimator;
import com.nispok.snackbar.Snackbar;
import org.hamcrest.BaseMatcher;
import org.hamcrest.Description;
import org.hamcrest.Matcher;
import org.sufficientlysecure.keychain.R;
import org.sufficientlysecure.keychain.ui.adapter.KeyAdapter.KeyItem;
import org.sufficientlysecure.keychain.ui.adapter.KeySectionedListAdapter;
import org.sufficientlysecure.keychain.ui.widget.EncryptKeyCompletionView;
import static android.support.test.espresso.matcher.ViewMatchers.hasDescendant;
@@ -86,6 +89,21 @@ public abstract class CustomMatchers {
};
}
public static Matcher<RecyclerView.ViewHolder> withKeyHolderId(final long keyId) {
return new BoundedMatcher<RecyclerView.ViewHolder, KeySectionedListAdapter.KeyItemViewHolder>
(KeySectionedListAdapter.KeyItemViewHolder.class) {
@Override
public void describeTo(Description description) {
description.appendText("with ViewHolder id: " + keyId);
}
@Override
protected boolean matchesSafely(KeySectionedListAdapter.KeyItemViewHolder item) {
return item.getItemId() == keyId;
}
};
}
public static Matcher<View> withKeyToken(@ColorRes final long keyId) {
return new BoundedMatcher<View, EncryptKeyCompletionView>(EncryptKeyCompletionView.class) {
public void describeTo(Description description) {

View File

@@ -20,14 +20,19 @@ package org.sufficientlysecure.keychain.ui;
import android.app.Activity;
import android.content.Intent;
import android.support.test.espresso.contrib.RecyclerViewActions;
import android.support.test.espresso.matcher.ViewMatchers;
import android.support.test.rule.ActivityTestRule;
import android.support.v7.widget.RecyclerView;
import android.widget.AdapterView;
import org.hamcrest.Description;
import org.hamcrest.Matcher;
import org.junit.FixMethodOrder;
import org.junit.Rule;
import org.junit.runners.MethodSorters;
import org.sufficientlysecure.keychain.R;
import org.sufficientlysecure.keychain.matcher.CustomMatchers;
import org.sufficientlysecure.keychain.provider.KeychainDatabase;
import org.sufficientlysecure.keychain.ui.util.Notify.Style;
@@ -70,10 +75,12 @@ public class EditKeyTest {
importKeysFromResource(activity, "x.sec.asc");
// navigate to edit key dialog
onData(withKeyItemId(0x9D604D2F310716A3L))
.inAdapterView(allOf(isAssignableFrom(AdapterView.class),
isDescendantOfA(ViewMatchers.withId(R.id.key_list_list))))
.perform(click());
onView(allOf(
isAssignableFrom(RecyclerView.class),
withId(android.R.id.list)
)).perform(RecyclerViewActions.actionOnHolderItem(
CustomMatchers.withKeyHolderId(0x9D604D2F310716A3L), click()));
onView(withId(R.id.view_key_card_user_ids_edit)).perform(click());
// no-op should yield snackbar

View File

@@ -297,7 +297,7 @@ public class KeySectionedListAdapter extends SectionCursorAdapter<KeySectionedLi
}
}
private class KeyItemViewHolder extends SectionCursorAdapter.ViewHolder
public class KeyItemViewHolder extends SectionCursorAdapter.ViewHolder
implements View.OnClickListener, View.OnLongClickListener {
private TextView mMainUserId;