diff options
-rw-r--r-- | apps/encryption/lib/crypto/encryption.php | 5 | ||||
-rw-r--r-- | apps/encryption/tests/lib/crypto/encryptionTest.php | 25 |
2 files changed, 29 insertions, 1 deletions
diff --git a/apps/encryption/lib/crypto/encryption.php b/apps/encryption/lib/crypto/encryption.php index 0fd85fa4e9a..c060bb04e53 100644 --- a/apps/encryption/lib/crypto/encryption.php +++ b/apps/encryption/lib/crypto/encryption.php @@ -330,7 +330,7 @@ class Encryption implements IEncryptionModule { */ public function shouldEncrypt($path) { $parts = explode('/', $path); - if (count($parts) < 3) { + if (count($parts) < 4) { return false; } @@ -340,6 +340,9 @@ class Encryption implements IEncryptionModule { if ($parts[2] == 'files_versions') { return true; } + if ($parts[2] == 'files_trashbin') { + return true; + } return false; } diff --git a/apps/encryption/tests/lib/crypto/encryptionTest.php b/apps/encryption/tests/lib/crypto/encryptionTest.php index aa28a8b44a4..960ed112488 100644 --- a/apps/encryption/tests/lib/crypto/encryptionTest.php +++ b/apps/encryption/tests/lib/crypto/encryptionTest.php @@ -220,4 +220,29 @@ class EncryptionTest extends TestCase { ); } + /** + * by default the encryption module should encrypt regular files, files in + * files_versions and files in files_trashbin + * + * @dataProvider dataTestShouldEncrypt + */ + public function testShouldEncrypt($path, $expected) { + $this->assertSame($expected, + $this->instance->shouldEncrypt($path) + ); + } + + public function dataTestShouldEncrypt() { + return array( + array('/user1/files/foo.txt', true), + array('/user1/files_versions/foo.txt', true), + array('/user1/files_trashbin/foo.txt', true), + array('/user1/some_folder/foo.txt', false), + array('/user1/foo.txt', false), + array('/user1/files', false), + array('/user1/files_trashbin', false), + array('/user1/files_versions', false), + ); + } + } |