mirror of
				https://github.com/django/django.git
				synced 2025-10-28 16:16:12 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			38 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from django.core.exceptions import ValidationError
 | |
| from django.forms import CharField, ComboField, EmailField
 | |
| from django.test import SimpleTestCase
 | |
| 
 | |
| 
 | |
| class ComboFieldTest(SimpleTestCase):
 | |
|     def test_combofield_1(self):
 | |
|         f = ComboField(fields=[CharField(max_length=20), EmailField()])
 | |
|         self.assertEqual("test@example.com", f.clean("test@example.com"))
 | |
|         with self.assertRaisesMessage(
 | |
|             ValidationError,
 | |
|             "'Ensure this value has at most 20 characters (it has 28).'",
 | |
|         ):
 | |
|             f.clean("longemailaddress@example.com")
 | |
|         with self.assertRaisesMessage(
 | |
|             ValidationError, "'Enter a valid email address.'"
 | |
|         ):
 | |
|             f.clean("not an email")
 | |
|         with self.assertRaisesMessage(ValidationError, "'This field is required.'"):
 | |
|             f.clean("")
 | |
|         with self.assertRaisesMessage(ValidationError, "'This field is required.'"):
 | |
|             f.clean(None)
 | |
| 
 | |
|     def test_combofield_2(self):
 | |
|         f = ComboField(fields=[CharField(max_length=20), EmailField()], required=False)
 | |
|         self.assertEqual("test@example.com", f.clean("test@example.com"))
 | |
|         with self.assertRaisesMessage(
 | |
|             ValidationError,
 | |
|             "'Ensure this value has at most 20 characters (it has 28).'",
 | |
|         ):
 | |
|             f.clean("longemailaddress@example.com")
 | |
|         with self.assertRaisesMessage(
 | |
|             ValidationError, "'Enter a valid email address.'"
 | |
|         ):
 | |
|             f.clean("not an email")
 | |
|         self.assertEqual("", f.clean(""))
 | |
|         self.assertEqual("", f.clean(None))
 |