Russell Keith-Magee skrev:
> On 9/9/07, Amit Upadhyay <[EMAIL PROTECTED]> wrote:
>   
>> Python unittest TestCase objects have a lot of helper functions like
>> assert_(), failUnless(), assertEqual(), assertNotEqual() and so on[1]. If we
>> had a similar set of helper functions, possibly with more pythonic names,
>> newform validation functions could be written a little more succinctly.
>>
>>     def clean_password2(self):
>>         if self.clean_data['password1'] != self.clean_data['password2']:
>>             raise ValidationError(u'Please make sure your passwords match.')
>>         return self.clean_data['password2']
>>
>> can become
>>
>>     def clean_password2(self):
>>         assert_equal(self.clean_data['password1'],
>> self.clean_data['password2', "Please make sure your passwords match."
>>         return self.clean_data['password2']
>>     
>
> I think a series of helpers for newforms validation is a reasonable
> idea. I have a few comments about the exact form of your suggestions:
>
> - I'm not wild about the deviation from the established camelCase
> naming convention. The tests are called assertEqual, assertRaises etc
> in TestCase; although Django generally uses underscores rather than
> camelCase, I think there would be more value in maintaining
> similarity.
>
> - I'm also inclined to continue the similarities, and make the
> assertion functions members on BaseForm. This would allow a
> significant simplification of your proposal, as the data locations
> (i.e., self.cleaned_data) can be implied.
>
> So - as a result of those suggestions, the helpers would look more like:
>
> def clean_password2(self):
>      self.assertEqual('password1','password2','Please make sure...')
>      return self.clean_data['password2']
>
> Thoughts?
>   
I don't like the transformation of strings into field values. How would
you compare a field value to a string?

I guess this means we have to keep referring to self.cleaned_data (and
not clean_data - see http://code.djangoproject.com/changeset/5231)

Apart from that, I am +1 on this (with the name changes suggested by
Malcolm).

-- 
Nis Jørgensen

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to