|
7 | 7 | from django import forms |
8 | 8 | from django.core.exceptions import ValidationError |
9 | 9 | from django.db import connection, models, IntegrityError |
10 | | -from django.db.models.fields.files import FieldFile |
| 10 | +from django.db.models.fields import ( |
| 11 | + AutoField, BigIntegerField, BinaryField, BooleanField, CharField, |
| 12 | + CommaSeparatedIntegerField, DateField, DateTimeField, DecimalField, |
| 13 | + EmailField, FilePathField, FloatField, IntegerField, IPAddressField, |
| 14 | + GenericIPAddressField, NullBooleanField, PositiveIntegerField, |
| 15 | + PositiveSmallIntegerField, SlugField, SmallIntegerField, TextField, |
| 16 | + TimeField, URLField) |
| 17 | +from django.db.models.fields.files import FileField, ImageField |
11 | 18 | from django.utils import six |
12 | 19 | from django.utils import unittest |
13 | 20 |
|
@@ -494,6 +501,94 @@ def test_genericipaddressfield_formfield_protocol(self): |
494 | 501 | self.assertRaises(ValidationError, form_field.clean, '127.0.0.1') |
495 | 502 |
|
496 | 503 |
|
| 504 | +class PrepValueTest(test.TestCase): |
| 505 | + def test_AutoField(self): |
| 506 | + self.assertIsInstance(AutoField(primary_key=True).get_prep_value(1), int) |
| 507 | + |
| 508 | + @unittest.skipIf(six.PY3, "Python 3 has no `long` type.") |
| 509 | + def test_BigIntegerField(self): |
| 510 | + self.assertIsInstance(BigIntegerField().get_prep_value(long(9999999999999999999)), long) |
| 511 | + |
| 512 | + def test_BinaryField(self): |
| 513 | + self.assertIsInstance(BinaryField().get_prep_value(b''), bytes) |
| 514 | + |
| 515 | + def test_BooleanField(self): |
| 516 | + self.assertIsInstance(BooleanField().get_prep_value(True), bool) |
| 517 | + |
| 518 | + def test_CharField(self): |
| 519 | + self.assertIsInstance(CharField().get_prep_value(''), six.text_type) |
| 520 | + self.assertIsInstance(CharField().get_prep_value(0), six.text_type) |
| 521 | + |
| 522 | + def test_CommaSeparatedIntegerField(self): |
| 523 | + self.assertIsInstance(CommaSeparatedIntegerField().get_prep_value('1,2'), six.text_type) |
| 524 | + self.assertIsInstance(CommaSeparatedIntegerField().get_prep_value(0), six.text_type) |
| 525 | + |
| 526 | + def test_DateField(self): |
| 527 | + self.assertIsInstance(DateField().get_prep_value(datetime.date.today()), datetime.date) |
| 528 | + |
| 529 | + def test_DateTimeField(self): |
| 530 | + self.assertIsInstance(DateTimeField().get_prep_value(datetime.datetime.now()), datetime.datetime) |
| 531 | + |
| 532 | + def test_DecimalField(self): |
| 533 | + self.assertIsInstance(DecimalField().get_prep_value(Decimal('1.2')), Decimal) |
| 534 | + |
| 535 | + def test_EmailField(self): |
| 536 | + self.assertIsInstance(EmailField().get_prep_value('mailbox@domain.com'), six.text_type) |
| 537 | + |
| 538 | + def test_FileField(self): |
| 539 | + self.assertIsInstance(FileField().get_prep_value('filename.ext'), six.text_type) |
| 540 | + self.assertIsInstance(FileField().get_prep_value(0), six.text_type) |
| 541 | + |
| 542 | + def test_FilePathField(self): |
| 543 | + self.assertIsInstance(FilePathField().get_prep_value('tests.py'), six.text_type) |
| 544 | + self.assertIsInstance(FilePathField().get_prep_value(0), six.text_type) |
| 545 | + |
| 546 | + def test_FloatField(self): |
| 547 | + self.assertIsInstance(FloatField().get_prep_value(1.2), float) |
| 548 | + |
| 549 | + def test_ImageField(self): |
| 550 | + self.assertIsInstance(ImageField().get_prep_value('filename.ext'), six.text_type) |
| 551 | + |
| 552 | + def test_IntegerField(self): |
| 553 | + self.assertIsInstance(IntegerField().get_prep_value(1), int) |
| 554 | + |
| 555 | + def test_IPAddressField(self): |
| 556 | + self.assertIsInstance(IPAddressField().get_prep_value('127.0.0.1'), six.text_type) |
| 557 | + self.assertIsInstance(IPAddressField().get_prep_value(0), six.text_type) |
| 558 | + |
| 559 | + def test_GenericIPAddressField(self): |
| 560 | + self.assertIsInstance(GenericIPAddressField().get_prep_value('127.0.0.1'), six.text_type) |
| 561 | + self.assertIsInstance(GenericIPAddressField().get_prep_value(0), six.text_type) |
| 562 | + |
| 563 | + def test_NullBooleanField(self): |
| 564 | + self.assertIsInstance(NullBooleanField().get_prep_value(True), bool) |
| 565 | + |
| 566 | + def test_PositiveIntegerField(self): |
| 567 | + self.assertIsInstance(PositiveIntegerField().get_prep_value(1), int) |
| 568 | + |
| 569 | + def test_PositiveSmallIntegerField(self): |
| 570 | + self.assertIsInstance(PositiveSmallIntegerField().get_prep_value(1), int) |
| 571 | + |
| 572 | + def test_SlugField(self): |
| 573 | + self.assertIsInstance(SlugField().get_prep_value('slug'), six.text_type) |
| 574 | + self.assertIsInstance(SlugField().get_prep_value(0), six.text_type) |
| 575 | + |
| 576 | + def test_SmallIntegerField(self): |
| 577 | + self.assertIsInstance(SmallIntegerField().get_prep_value(1), int) |
| 578 | + |
| 579 | + def test_TextField(self): |
| 580 | + self.assertIsInstance(TextField().get_prep_value('Abc'), six.text_type) |
| 581 | + self.assertIsInstance(TextField().get_prep_value(0), six.text_type) |
| 582 | + |
| 583 | + def test_TimeField(self): |
| 584 | + self.assertIsInstance( |
| 585 | + TimeField().get_prep_value(datetime.datetime.now().time()), |
| 586 | + datetime.time) |
| 587 | + |
| 588 | + def test_URLField(self): |
| 589 | + self.assertIsInstance(URLField().get_prep_value('http://domain.com'), six.text_type) |
| 590 | + |
| 591 | + |
497 | 592 | class CustomFieldTests(unittest.TestCase): |
498 | 593 |
|
499 | 594 | def test_14786(self): |
|
0 commit comments