| 1234567891011121314151617181920212223242526272829 |
- # coding=utf-8
- from django.test import TestCase
- from django.test.utils import override_settings
-
- from oscar.core import utils
-
- sluggish = lambda s: s.upper()
-
-
- class TestSlugify(TestCase):
-
- def test_uses_custom_mappings(self):
- mapping = {'c++': 'cpp'}
- with override_settings(OSCAR_SLUG_MAP=mapping):
- self.assertEqual('cpp', utils.slugify('c++'))
-
- def test_uses_blacklist(self):
- blacklist = ['the']
- with override_settings(OSCAR_SLUG_BLACKLIST=blacklist):
- self.assertEqual('bible', utils.slugify('The Bible'))
-
- def test_handles_unicode(self):
- self.assertEqual('konig-der-strasse',
- utils.slugify(u'König der Straße'))
-
- def test_works_with_custom_slugifier(self):
- for fn in [sluggish, 'tests.unit.core.utils_tests.sluggish']:
- with override_settings(OSCAR_SLUG_FUNCTION=fn):
- self.assertEqual('HAM AND EGGS', utils.slugify('Ham and eggs'))
|