Как утверждать, что 2 директории идентичны в PHPunit?

Используйте ACTION_GET_CONTENT Intent Action - Intent.ACTION_GET_CONTENT

Вызов после selectImage() метода для запуска выбора изображения Intent, в котором будут отображаться все приложения, доступные для выбора изображения из

private val RC_SELECT_IMGAE = 101

private fun selectImage() {
    val selectImageIntent = Intent(Intent.ACTION_GET_CONTENT, MediaStore.Images.Media
            .EXTERNAL_CONTENT_URI)
    startActivityForResult(selectImageIntent, RC_SELECT_IMGAE)
}

Затем обработайте обратный вызов путем переопределения метода onActivityResult() в Activity

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    when (requestCode) {
        RC_SELECT_IMGAE -> {
            if (data != null) {
                val uri = data.data
                displaySelectedImage(getBitmapFromUri(uri))
            }
        }
        else -> super.onActivityResult(requestCode, resultCode, data)
    }
}

Наконец, обновите представление изображения с помощью растрового изображения, как показано ниже

private fun getBitmapFromUri(uri: Uri): Bitmap {
    val parcelFileDescriptor = contentResolver.openFileDescriptor(uri, "r")
    val fileDescriptor = parcelFileDescriptor?.fileDescriptor
    val image = BitmapFactory.decodeFileDescriptor(fileDescriptor)
    parcelFileDescriptor.close()
    return image
}

private fun displaySelectedImage(imageBitmap: Bitmap) {
    iv_selected_image.setImageBitmap(imageBitmap)
}

Найдите рабочий пример выбора изображения здесь - ImagePickerExample

Вы можете добавить FileProvider в случае, если он дает какой-либо URI Exception

1
задан Tomáš Votruba 20 January 2019 в 18:02
поделиться

2 ответа

Я не верю, что есть Assert, который будет сравнивать две директории, но вы можете использовать PHP Scandir, который даст вам массив содержимого директории и сравнить их.

$files1 = scandir($directory1);
$files2 = scandir($directory2);

$this->assertEquals($files1, $files2);
0
ответ дан Katie 20 January 2019 в 18:02
поделиться

вы можете попробовать создать хеш каждого файла в каждом каталоге и затем сравнить хэши:

https://jonlabelle.com/snippets/view/php/generate-md5-hash- for-directory

Или, если вы работаете в среде Linux / Unix DEV (возможно, вы не хотите, чтобы этот код работал), вы можете запустить

Unix diff команда: https://www.tecmint.com/compare-find-difference-between-two-directories-in-linux/

С помощью PHP shell_exec: http : //php.net/manual/en/function.shell-exec.php

0
ответ дан Luke 20 January 2019 в 18:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: