Merge lp:~james-w/django-factory/fix-textfield-generator into lp:django-factory

Proposed by James Westby
Status: Merged
Merged at revision: 58
Proposed branch: lp:~james-w/django-factory/fix-textfield-generator
Merge into: lp:django-factory
Diff against target: 59 lines (+14/-2)
4 files modified
README (+2/-1)
django_factory/generators.py (+1/-1)
django_project/factory_tests/models.py (+5/-0)
django_project/factory_tests/tests.py (+6/-0)
To merge this branch: bzr merge lp:~james-w/django-factory/fix-textfield-generator
Reviewer Review Type Date Requested Status
Anthony Lenton (community) Approve
James Westby Pending
Review via email: mp+91943@code.launchpad.net

Description of the change

Hi,

This fixes max_length=None as found by Anthony.

Thanks,

James

To post a comment you must log in.
Revision history for this message
Anthony Lenton (elachuni) wrote :

Looks fine, thanks James!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'README'
--- README 2012-01-12 15:46:26 +0000
+++ README 2012-02-07 23:04:22 +0000
@@ -352,7 +352,8 @@
3520.83520.8
353```353```
354354
355355 * TextFields that have `max_length=None` no longer crash the generator
356 (regression due to the `max_length` change in 0.7)
356357
3570.73580.7
358```359```
359360
=== modified file 'django_factory/generators.py'
--- django_factory/generators.py 2012-01-12 15:03:43 +0000
+++ django_factory/generators.py 2012-02-07 23:04:22 +0000
@@ -36,7 +36,7 @@
36 """36 """
37 value = factory.getUniqueUnicode(prefix=field.name)37 value = factory.getUniqueUnicode(prefix=field.name)
38 max_length = getattr(field, "max_length", sys.maxint)38 max_length = getattr(field, "max_length", sys.maxint)
39 if len(value) > max_length:39 if max_length is not None and len(value) > max_length:
40 value = value[-max_length:]40 value = value[-max_length:]
41 return value41 return value
4242
4343
=== modified file 'django_project/factory_tests/models.py'
--- django_project/factory_tests/models.py 2012-01-12 15:41:57 +0000
+++ django_project/factory_tests/models.py 2012-02-07 23:04:22 +0000
@@ -94,6 +94,11 @@
94 text_field = models.TextField(max_length=100)94 text_field = models.TextField(max_length=100)
9595
9696
97class ModelWithNoneMaxLengthTextField(models.Model):
98
99 text_field = models.TextField(max_length=None)
100
101
97class ModelWithSlugField(models.Model):102class ModelWithSlugField(models.Model):
98103
99 slug_field = models.SlugField(max_length=100)104 slug_field = models.SlugField(max_length=100)
100105
=== modified file 'django_project/factory_tests/tests.py'
--- django_project/factory_tests/tests.py 2012-01-12 15:41:57 +0000
+++ django_project/factory_tests/tests.py 2012-02-07 23:04:22 +0000
@@ -55,6 +55,12 @@
55 generated = generators.generate_unicode(field, self.factory)55 generated = generators.generate_unicode(field, self.factory)
56 self.assertEquals(field.max_length, len(generated))56 self.assertEquals(field.max_length, len(generated))
5757
58 def test_generate_unicode_handles_None_max_length(self):
59 field = test_models.ModelWithNoneMaxLengthTextField._meta.get_field(
60 'text_field')
61 generated = generators.generate_unicode(field, self.factory)
62 self.assertIsInstance(generated, unicode)
63
58 def test_generate_int_generates_int(self):64 def test_generate_int_generates_int(self):
59 generated = generators.generate_int(self.field, self.factory)65 generated = generators.generate_int(self.field, self.factory)
60 self.assertIsInstance(generated, int)66 self.assertIsInstance(generated, int)

Subscribers

People subscribed via source and target branches

to all changes: