1
0
mirror of https://github.com/django/django.git synced 2025-05-06 06:56:30 +00:00

Updated tests for EmailFied in forms

This commit is contained in:
skushagra 2024-01-24 12:10:07 +05:30
parent 4063e03670
commit f023a3bec1
2 changed files with 12 additions and 10 deletions

View File

@ -8,9 +8,9 @@ from . import FormFieldAssertionsMixin
class EmailFieldTest(FormFieldAssertionsMixin, SimpleTestCase):
def test_emailfield_1(self):
f = EmailField()
self.assertEqual(f.max_length, 320)
self.assertEqual(f.max_length, 254)
self.assertWidgetRendersTo(
f, '<input type="email" name="f" id="id_f" maxlength="320" required>'
f, '<input type="email" name="f" id="id_f" maxlength="254" required>'
)
with self.assertRaisesMessage(ValidationError, "'This field is required.'"):
f.clean("")
@ -64,7 +64,9 @@ class EmailFieldTest(FormFieldAssertionsMixin, SimpleTestCase):
"'Ensure this value has at most 15 characters (it has 20).'",
):
f.clean("alf123456788@foo.com")
email = 'a' * 245 + '@example.com' # This email has 255 characters
with self.assertRaisesMessage(ValidationError, "'Ensure this value has at most 254 characters (it has 255).'"):
f.clean(email)
def test_emailfield_strip_on_none_value(self):
f = EmailField(required=False, empty_value=None)
self.assertIsNone(f.clean(""))

View File

@ -556,7 +556,7 @@ class FormsTestCase(SimpleTestCase):
f = SignupForm(auto_id=False)
self.assertHTMLEqual(
str(f["email"]),
'<input type="email" name="email" maxlength="320" required>',
'<input type="email" name="email" maxlength="254" required>',
)
self.assertHTMLEqual(
str(f["get_spam"]), '<input type="checkbox" name="get_spam" required>'
@ -565,7 +565,7 @@ class FormsTestCase(SimpleTestCase):
f = SignupForm({"email": "test@example.com", "get_spam": True}, auto_id=False)
self.assertHTMLEqual(
str(f["email"]),
'<input type="email" name="email" maxlength="320" value="test@example.com" '
'<input type="email" name="email" maxlength="254" value="test@example.com" '
"required>",
)
self.assertHTMLEqual(
@ -3709,7 +3709,7 @@ Options: <select multiple name="options" aria-invalid="true" required>
<option value="false">No</option>
</select></li>
<li><label for="id_email">Email:</label>
<input type="email" name="email" id="id_email" maxlength="320"></li>
<input type="email" name="email" id="id_email" maxlength="254"></li>
<li class="required error"><ul class="errorlist">
<li>This field is required.</li></ul>
<label class="required" for="id_age">Age:</label>
@ -3732,7 +3732,7 @@ Options: <select multiple name="options" aria-invalid="true" required>
<option value="false">No</option>
</select></p>
<p><label for="id_email">Email:</label>
<input type="email" name="email" id="id_email" maxlength="320"></p>
<input type="email" name="email" id="id_email" maxlength="254"></p>
<ul class="errorlist"><li>This field is required.</li></ul>
<p class="required error"><label class="required" for="id_age">Age:</label>
<input type="number" name="age" id="id_age" aria-invalid="true" required>
@ -3752,7 +3752,7 @@ Options: <select multiple name="options" aria-invalid="true" required>
<option value="false">No</option>
</select></td></tr>
<tr><th><label for="id_email">Email:</label></th><td>
<input type="email" name="email" id="id_email" maxlength="320"></td></tr>
<input type="email" name="email" id="id_email" maxlength="254"></td></tr>
<tr class="required error"><th><label class="required" for="id_age">Age:</label></th>
<td><ul class="errorlist"><li>This field is required.</li></ul>
<input type="number" name="age" id="id_age" aria-invalid="true" required></td></tr>""",
@ -3768,7 +3768,7 @@ Options: <select multiple name="options" aria-invalid="true" required>
'<option value="unknown" selected>Unknown</option>'
'<option value="true">Yes</option><option value="false">No</option>'
'</select></div><div><label for="id_email">Email:</label>'
'<input type="email" name="email" id="id_email" maxlength="320"/></div>'
'<input type="email" name="email" id="id_email" maxlength="254"/></div>'
'<div class="required error"><label for="id_age" class="required">Age:'
'</label><ul class="errorlist"><li>This field is required.</li></ul>'
'<input type="number" name="age" required id="id_age" '
@ -5291,7 +5291,7 @@ class OverrideTests(SimpleTestCase):
'<div class="errorlist">'
'<div class="error">Enter a valid email address.</div></div>'
"<p>Email: "
'<input type="email" name="email" value="invalid" maxlength="320" '
'<input type="email" name="email" value="invalid" maxlength="254" '
'aria-invalid="true" required></p><div class="errorlist">'
'<div class="error">This field is required.</div></div>'
'<p>Comment: <input type="text" name="comment" aria-invalid="true" '