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): class EmailFieldTest(FormFieldAssertionsMixin, SimpleTestCase):
def test_emailfield_1(self): def test_emailfield_1(self):
f = EmailField() f = EmailField()
self.assertEqual(f.max_length, 320) self.assertEqual(f.max_length, 254)
self.assertWidgetRendersTo( 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.'"): with self.assertRaisesMessage(ValidationError, "'This field is required.'"):
f.clean("") f.clean("")
@ -64,7 +64,9 @@ class EmailFieldTest(FormFieldAssertionsMixin, SimpleTestCase):
"'Ensure this value has at most 15 characters (it has 20).'", "'Ensure this value has at most 15 characters (it has 20).'",
): ):
f.clean("alf123456788@foo.com") 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): def test_emailfield_strip_on_none_value(self):
f = EmailField(required=False, empty_value=None) f = EmailField(required=False, empty_value=None)
self.assertIsNone(f.clean("")) self.assertIsNone(f.clean(""))

View File

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