From e77e97bc0857b1381252bc2770fa5bcbd4962381 Mon Sep 17 00:00:00 2001 From: DenBond7 Date: Thu, 8 Apr 2021 13:04:13 +0300 Subject: [PATCH] Modified Passphrase.fromPassword() to apply null value to be much clearer for Kotlin. Added a test for that. --- .../src/main/java/org/pgpainless/util/Passphrase.java | 6 +++--- .../java/org/pgpainless/key/protection/PassphraseTest.java | 7 +++++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/pgpainless-core/src/main/java/org/pgpainless/util/Passphrase.java b/pgpainless-core/src/main/java/org/pgpainless/util/Passphrase.java index 14a52478..f57474b0 100644 --- a/pgpainless-core/src/main/java/org/pgpainless/util/Passphrase.java +++ b/pgpainless-core/src/main/java/org/pgpainless/util/Passphrase.java @@ -37,11 +37,11 @@ public class Passphrase { /** * Create a {@link Passphrase} from a {@link String}. * - * @param password password + * @param password password that may be null * @return passphrase */ - public static Passphrase fromPassword(String password) { - return new Passphrase(password.toCharArray()); + public static Passphrase fromPassword(@Nullable String password) { + return new Passphrase(password == null ? null : password.toCharArray()); } /** diff --git a/pgpainless-core/src/test/java/org/pgpainless/key/protection/PassphraseTest.java b/pgpainless-core/src/test/java/org/pgpainless/key/protection/PassphraseTest.java index 637162c6..376b86b1 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/key/protection/PassphraseTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/key/protection/PassphraseTest.java @@ -37,4 +37,11 @@ public class PassphraseTest { assertFalse(passphrase.isValid()); assertThrows(IllegalStateException.class, passphrase::getChars); } + + @Test + public void testFromPasswordNull() { + Passphrase passphrase = Passphrase.fromPassword(null); + assertArrayEquals(null, passphrase.getChars()); + assertTrue(passphrase.isValid()); + } }