instrument: save file
This commit is contained in:
@@ -125,7 +125,7 @@ public class AsymmetricFileOperationTests {
|
|||||||
handleAddFileIntent(file);
|
handleAddFileIntent(file);
|
||||||
onView(withId(R.id.file_list_entry_add)).perform(click());
|
onView(withId(R.id.file_list_entry_add)).perform(click());
|
||||||
|
|
||||||
handleSaveFileIntent(outputFile);
|
handleSaveEncryptedFileIntent(outputFile);
|
||||||
onView(withId(R.id.encrypt_save)).perform(click());
|
onView(withId(R.id.encrypt_save)).perform(click());
|
||||||
|
|
||||||
assertThat("output file has been written", true, is(outputFile.exists()));
|
assertThat("output file has been written", true, is(outputFile.exists()));
|
||||||
@@ -145,6 +145,9 @@ public class AsymmetricFileOperationTests {
|
|||||||
onView(isRecyclerItemView(R.id.decrypted_files_list,
|
onView(isRecyclerItemView(R.id.decrypted_files_list,
|
||||||
hasDescendant(withText(file.getName()))))
|
hasDescendant(withText(file.getName()))))
|
||||||
.check(matches(allOf(withEncryptionStatus(true), withSignatureNone())));
|
.check(matches(allOf(withEncryptionStatus(true), withSignatureNone())));
|
||||||
|
}
|
||||||
|
|
||||||
|
{ // delete original file
|
||||||
|
|
||||||
// open context menu
|
// open context menu
|
||||||
onView(allOf(isDescendantOfA(isRecyclerItemView(R.id.decrypted_files_list,
|
onView(allOf(isDescendantOfA(isRecyclerItemView(R.id.decrypted_files_list,
|
||||||
@@ -169,6 +172,29 @@ public class AsymmetricFileOperationTests {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{ // save file (*after* deletion~)
|
||||||
|
|
||||||
|
// open context menu
|
||||||
|
onView(allOf(isDescendantOfA(isRecyclerItemView(R.id.decrypted_files_list,
|
||||||
|
hasDescendant(withText(file.getName())))),
|
||||||
|
withId(R.id.context_menu))).perform(click());
|
||||||
|
|
||||||
|
File savedFile =
|
||||||
|
new File(getInstrumentation().getTargetContext().getFilesDir(), "vo.png");
|
||||||
|
handleSaveDecryptedFileIntent(savedFile, file.getName());
|
||||||
|
|
||||||
|
// save decrypted content
|
||||||
|
onView(withText(R.string.btn_save)).perform(click());
|
||||||
|
|
||||||
|
checkSnackbar(Style.OK, R.string.file_saved);
|
||||||
|
assertThat("decrypted file has been saved", true, is(savedFile.exists()));
|
||||||
|
|
||||||
|
// cleanup
|
||||||
|
// noinspection ResultOfMethodCallIgnored
|
||||||
|
file.delete();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void handleAddFileIntent(File file) {
|
private void handleAddFileIntent(File file) {
|
||||||
@@ -208,7 +234,22 @@ public class AsymmetricFileOperationTests {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@TargetApi(VERSION_CODES.KITKAT)
|
@TargetApi(VERSION_CODES.KITKAT)
|
||||||
private void handleSaveFileIntent(File file) {
|
private void handleSaveDecryptedFileIntent(File file, String expectedTitle) {
|
||||||
|
Intent data = new Intent();
|
||||||
|
data.setData(Uri.fromFile(file));
|
||||||
|
|
||||||
|
Intents.intending(allOf(
|
||||||
|
hasAction(Intent.ACTION_CREATE_DOCUMENT),
|
||||||
|
hasExtra("android.content.extra.SHOW_ADVANCED", true),
|
||||||
|
hasExtra(Intent.EXTRA_TITLE, expectedTitle),
|
||||||
|
hasCategories(hasItem(Intent.CATEGORY_OPENABLE))
|
||||||
|
)).respondWith(
|
||||||
|
new ActivityResult(Activity.RESULT_OK, data)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TargetApi(VERSION_CODES.KITKAT)
|
||||||
|
private void handleSaveEncryptedFileIntent(File file) {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
//noinspection ResultOfMethodCallIgnored
|
//noinspection ResultOfMethodCallIgnored
|
||||||
|
|||||||
Reference in New Issue
Block a user