diff options
| author | Hasan Ramezani <hasan.r67@gmail.com> | 2019-03-10 11:03:42 +0100 |
|---|---|---|
| committer | Carlton Gibson <carlton@noumenal.es> | 2019-06-07 12:44:39 +0200 |
| commit | dcb8f00d06eec99072b78d54215c9a3dc04acb99 (patch) | |
| tree | c5f55c29e3d55df56644ed6738809f1d0330e5e2 /tests/auth_tests/test_forms.py | |
| parent | c498f088c584ec3aff97409fdc11b39b28240de9 (diff) | |
Fixed #29379 -- Added autocomplete attribute to contrib.auth.forms fields.
Thank you to Nick Pope for review.
Co-authored-by: CHI Cheng <cloudream@gmail.com>
Diffstat (limited to 'tests/auth_tests/test_forms.py')
| -rw-r--r-- | tests/auth_tests/test_forms.py | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/tests/auth_tests/test_forms.py b/tests/auth_tests/test_forms.py index 19397ad5d6..f70a7f830d 100644 --- a/tests/auth_tests/test_forms.py +++ b/tests/auth_tests/test_forms.py @@ -265,6 +265,17 @@ class UserCreationFormTest(TestDataMixin, TestCase): form = UserCreationForm() self.assertEqual(form.fields['username'].widget.attrs.get('autocapitalize'), 'none') + def test_html_autocomplete_attributes(self): + form = UserCreationForm() + tests = ( + ('username', 'username'), + ('password1', 'new-password'), + ('password2', 'new-password'), + ) + for field_name, autocomplete in tests: + with self.subTest(field_name=field_name, autocomplete=autocomplete): + self.assertEqual(form.fields[field_name].widget.attrs['autocomplete'], autocomplete) + # To verify that the login form rejects inactive users, use an authentication # backend that allows them. @@ -492,6 +503,16 @@ class AuthenticationFormTest(TestDataMixin, TestCase): self.assertEqual(error.code, 'invalid_login') self.assertEqual(error.params, {'username': 'username'}) + def test_html_autocomplete_attributes(self): + form = AuthenticationForm() + tests = ( + ('username', 'username'), + ('password', 'current-password'), + ) + for field_name, autocomplete in tests: + with self.subTest(field_name=field_name, autocomplete=autocomplete): + self.assertEqual(form.fields[field_name].widget.attrs['autocomplete'], autocomplete) + class SetPasswordFormTest(TestDataMixin, TestCase): @@ -572,6 +593,16 @@ class SetPasswordFormTest(TestDataMixin, TestCase): for french_text in french_help_texts: self.assertIn(french_text, html) + def test_html_autocomplete_attributes(self): + form = SetPasswordForm(self.u1) + tests = ( + ('new_password1', 'new-password'), + ('new_password2', 'new-password'), + ) + for field_name, autocomplete in tests: + with self.subTest(field_name=field_name, autocomplete=autocomplete): + self.assertEqual(form.fields[field_name].widget.attrs['autocomplete'], autocomplete) + class PasswordChangeFormTest(TestDataMixin, TestCase): @@ -633,6 +664,11 @@ class PasswordChangeFormTest(TestDataMixin, TestCase): self.assertEqual(form.cleaned_data['new_password1'], data['new_password1']) self.assertEqual(form.cleaned_data['new_password2'], data['new_password2']) + def test_html_autocomplete_attributes(self): + user = User.objects.get(username='testclient') + form = PasswordChangeForm(user) + self.assertEqual(form.fields['old_password'].widget.attrs['autocomplete'], 'current-password') + class UserChangeFormTest(TestDataMixin, TestCase): @@ -916,6 +952,10 @@ class PasswordResetFormTest(TestDataMixin, TestCase): self.assertEqual(len(mail.outbox), 1) self.assertEqual(mail.outbox[0].to, [email]) + def test_html_autocomplete_attributes(self): + form = PasswordResetForm() + self.assertEqual(form.fields['email'].widget.attrs['autocomplete'], 'email') + class ReadOnlyPasswordHashTest(SimpleTestCase): @@ -997,3 +1037,14 @@ class AdminPasswordChangeFormTest(TestDataMixin, TestCase): form2 = AdminPasswordChangeForm(user, {'password1': 'test', 'password2': ''}) self.assertEqual(form2.errors['password2'], required_error) self.assertNotIn('password1', form2.errors) + + def test_html_autocomplete_attributes(self): + user = User.objects.get(username='testclient') + form = AdminPasswordChangeForm(user) + tests = ( + ('password1', 'new-password'), + ('password2', 'new-password'), + ) + for field_name, autocomplete in tests: + with self.subTest(field_name=field_name, autocomplete=autocomplete): + self.assertEqual(form.fields[field_name].widget.attrs['autocomplete'], autocomplete) |
