diff options
| author | Malcolm Tredinnick <malcolm.tredinnick@gmail.com> | 2007-10-20 13:40:20 +0000 |
|---|---|---|
| committer | Malcolm Tredinnick <malcolm.tredinnick@gmail.com> | 2007-10-20 13:40:20 +0000 |
| commit | 18e1f56a418290d358c5338b2d97d91256f6df5f (patch) | |
| tree | ec7b7d9740556856648918d2efbf75dff5704778 /tests | |
| parent | f20b254cccfecccaf81df8851790a0e033245d47 (diff) | |
Fixed #5475 -- Added the Luhn check algorithm to django.utils.checksums so that
localflavors don't have to reimplement it each time. Thanks, __hawkeye__.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6569 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/regressiontests/utils/tests.py | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/tests/regressiontests/utils/tests.py b/tests/regressiontests/utils/tests.py index fe0b226adc..eb3a722888 100644 --- a/tests/regressiontests/utils/tests.py +++ b/tests/regressiontests/utils/tests.py @@ -4,7 +4,7 @@ Tests for django.utils. from unittest import TestCase -from django.utils import html +from django.utils import html, checksums from timesince import timesince_tests @@ -116,6 +116,32 @@ class TestUtilsHtml(TestCase): for value, output in items: self.check_output(f, value, output) +class TestUtilsChecksums(TestCase): + + def check_output(self, function, value, output=None): + """ + Check that function(value) equals output. If output is None, + check that function(value) equals value. + """ + if output is None: + output = value + self.assertEqual(function(value), output) + + def test_luhn(self): + f = checksums.luhn + items = ( + (4111111111111111, True), ('4111111111111111', True), + (4222222222222, True), (378734493671000, True), + (5424000000000015, True), (5555555555554444, True), + (1008, True), ('0000001008', True), ('000000001008', True), + (4012888888881881, True), (1234567890123456789012345678909, True), + (4111111111211111, False), (42222222222224, False), + (100, False), ('100', False), ('0000100', False), + ('abc', False), (None, False), (object(), False), + ) + for value, output in items: + self.check_output(f, value, output) + __test__ = { 'timesince_tests': timesince_tests, } |
