diff --git a/password_policy.module b/password_policy.module index 944254d..5ac9517 100644 --- a/password_policy.module +++ b/password_policy.module @@ -143,9 +143,9 @@ function password_policy_check_constraints_password_confirm_process(array $eleme * The updated form. */ function _password_policy_user_profile_form_after_build($form, FormStateInterface &$form_state) { - $password_visible = !empty($form['account']['pass']) && isset($form['account']['pass']['#access']) ? $form['account']['pass']['#access'] : TRUE; + $password_invisible = empty($form['account']['pass']) || (isset($form['account']['pass']['#access']) ? !$form['account']['pass']['#access'] : FALSE); - if (!$password_visible) { + if ($password_invisible) { $form['account']['password_policy_status']['#access'] = FALSE; } diff --git a/tests/src/Functional/PasswordPolicyStatusVisibilityTest.php b/tests/src/Functional/PasswordPolicyStatusVisibilityTest.php index c9950d6..e66c896 100644 --- a/tests/src/Functional/PasswordPolicyStatusVisibilityTest.php +++ b/tests/src/Functional/PasswordPolicyStatusVisibilityTest.php @@ -14,7 +14,7 @@ class PasswordPolicyStatusVisibilityTest extends BrowserTestBase { /** * {@inheritdoc} */ - public static $modules = ['password_policy', 'password_policy_test']; + protected static $modules = ['password_policy', 'password_policy_test']; /** * Tests the visibility of the password policy status. @@ -26,7 +26,7 @@ class PasswordPolicyStatusVisibilityTest extends BrowserTestBase { // By default both password fields should be visible, and the password // policy status table as well. - $this->drupalGet('user/' . $user->id() . '/edit'); + $this->drupalGet($user->toUrl('edit-form')); $this->assertFieldByName('pass[pass1]'); $this->assertFieldByName('pass[pass2]'); $this->assertElementPresent('#password-policy-status'); @@ -34,9 +34,9 @@ class PasswordPolicyStatusVisibilityTest extends BrowserTestBase { // If a module hides the password fields, then the password policy status // should be hidden as well. // @see password_policy_test_form_user_form_alter() - $this->container->get('state')->set('password_policy_test.user_form.hide_password', TRUE); + \Drupal::service('state')->set('password_policy_test.user_form.hide_password', TRUE); - $this->drupalGet('user/' . $user->id() . '/edit'); + $this->drupalGet($user->toUrl('edit-form')); $this->assertNoFieldByName('pass[pass1]'); $this->assertNoFieldByName('pass[pass2]'); $this->assertElementNotPresent('#password-policy-status');