mirror of
https://github.com/Hopiu/django-uuslug.git
synced 2026-05-02 08:24:42 +00:00
Merge branch 'development'
This commit is contained in:
commit
61c3bf16fe
9 changed files with 116 additions and 88 deletions
25
.travis.yml
25
.travis.yml
|
|
@ -1,13 +1,24 @@
|
|||
language: python
|
||||
python:
|
||||
- "2.6"
|
||||
- "2.7"
|
||||
- "3.2"
|
||||
- "3.3"
|
||||
|
||||
env:
|
||||
- DJANGO_VERSION=1.3
|
||||
- DJANGO_VERSION=1.4.10
|
||||
- DJANGO_VERSION=1.5.5
|
||||
- DJANGO_VERSION=1.6.1
|
||||
- DJANGO=1.5.5
|
||||
- DJANGO=1.6.2
|
||||
|
||||
install:
|
||||
- pip install -q Django==$DJANGO_VERSION --use-mirrors
|
||||
- pip install -q -r requirements.txt --use-mirrors
|
||||
- pip install -q Django==$DJANGO
|
||||
- pip install -q -r requirements.txt
|
||||
- pip install pep8
|
||||
- pip install https://github.com/un33k/pyflakes/tarball/master
|
||||
- pip install -q -e .
|
||||
|
||||
before_script:
|
||||
- "pep8 --exclude=migrations --ignore=E501,E225,E128 ."
|
||||
- if [[ $TRAVIS_PYTHON_VERSION == '2.7' ]]; then pyflakes -x W uuslug; fi
|
||||
|
||||
script: python manage.py test
|
||||
|
||||
|
||||
|
|
|
|||
18
CHANGELOG.md
18
CHANGELOG.md
|
|
@ -1,3 +1,21 @@
|
|||
## 1.0.2
|
||||
|
||||
Enhancement:
|
||||
|
||||
- PEP8 Compliant
|
||||
|
||||
## 1.0.1
|
||||
|
||||
Enhancement:
|
||||
|
||||
- Added support for Django 1.6.1
|
||||
- Added support for Python 3.x
|
||||
|
||||
Misc:
|
||||
- Dropped support for Django<=1.4.10
|
||||
- Dropped support for Python 2.6
|
||||
|
||||
|
||||
## 1.0.0
|
||||
|
||||
Enhancement:
|
||||
|
|
|
|||
28
README.md
28
README.md
|
|
@ -35,59 +35,59 @@ Unicode Test
|
|||
|
||||
txt = "This is a test ---"
|
||||
r = slugify(txt)
|
||||
self.assertEquals(r, "this-is-a-test")
|
||||
self.assertEqual(r, "this-is-a-test")
|
||||
|
||||
txt = "This -- is a ## test ---"
|
||||
r = slugify(txt)
|
||||
self.assertEquals(r, "this-is-a-test")
|
||||
self.assertEqual(r, "this-is-a-test")
|
||||
|
||||
txt = 'C\'est déjà l\'été.'
|
||||
r = slugify(txt)
|
||||
self.assertEquals(r, "cest-deja-lete")
|
||||
self.assertEqual(r, "cest-deja-lete")
|
||||
|
||||
txt = 'Nín hǎo. Wǒ shì zhōng guó rén'
|
||||
r = slugify(txt)
|
||||
self.assertEquals(r, "nin-hao-wo-shi-zhong-guo-ren")
|
||||
self.assertEqual(r, "nin-hao-wo-shi-zhong-guo-ren")
|
||||
|
||||
txt = 'Компьютер'
|
||||
r = slugify(txt)
|
||||
self.assertEquals(r, "kompiuter")
|
||||
self.assertEqual(r, "kompiuter")
|
||||
|
||||
txt = 'jaja---lol-méméméoo--a'
|
||||
r = slugify(txt)
|
||||
self.assertEquals(r, "jaja-lol-mememeoo-a")
|
||||
self.assertEqual(r, "jaja-lol-mememeoo-a")
|
||||
|
||||
txt = 'jaja---lol-méméméoo--a'
|
||||
r = slugify(txt, max_length=9)
|
||||
self.assertEquals(r, "jaja-lol")
|
||||
self.assertEqual(r, "jaja-lol")
|
||||
|
||||
txt = 'jaja---lol-méméméoo--a'
|
||||
r = slugify(txt, max_length=15)
|
||||
self.assertEquals(r, "jaja-lol-mememe")
|
||||
self.assertEqual(r, "jaja-lol-mememe")
|
||||
|
||||
txt = 'jaja---lol-méméméoo--a'
|
||||
r = slugify(txt, max_length=50)
|
||||
self.assertEquals(r, "jaja-lol-mememeoo-a")
|
||||
self.assertEqual(r, "jaja-lol-mememeoo-a")
|
||||
|
||||
txt = 'jaja---lol-méméméoo--a'
|
||||
r = slugify(txt, max_length=15, word_boundary=True)
|
||||
self.assertEquals(r, "jaja-lol-a")
|
||||
self.assertEqual(r, "jaja-lol-a")
|
||||
|
||||
txt = 'jaja---lol-méméméoo--a'
|
||||
r = slugify(txt, max_length=19, word_boundary=True)
|
||||
self.assertEquals(r, "jaja-lol-mememeoo")
|
||||
self.assertEqual(r, "jaja-lol-mememeoo")
|
||||
|
||||
txt = 'jaja---lol-méméméoo--a'
|
||||
r = slugify(txt, max_length=20, word_boundary=True)
|
||||
self.assertEquals(r, "jaja-lol-mememeoo-a")
|
||||
self.assertEqual(r, "jaja-lol-mememeoo-a")
|
||||
|
||||
txt = 'jaja---lol-méméméoo--a'
|
||||
r = slugify(txt, max_length=20, word_boundary=True, separator=".")
|
||||
self.assertEquals(r, "jaja.lol.mememeoo.a")
|
||||
self.assertEqual(r, "jaja.lol.mememeoo.a")
|
||||
|
||||
txt = 'jaja---lol-méméméoo--a'
|
||||
r = slugify(txt, max_length=20, word_boundary=True, separator="ZZZZZZ")
|
||||
self.assertEquals(r, "jajaZZZZZZlolZZZZZZmememeooZZZZZZa")
|
||||
self.assertEqual(r, "jajaZZZZZZlolZZZZZZmememeooZZZZZZa")
|
||||
|
||||
Uniqueness Test
|
||||
|
||||
|
|
|
|||
12
pep8.sh
12
pep8.sh
|
|
@ -1,5 +1,11 @@
|
|||
#!/bin/bash
|
||||
|
||||
echo -e "\nRunning: (pep8 --show-source --show-pep8 --select=errors --testsuite=.)\n\n"
|
||||
pep8 --show-source --show-pep8 --select=errors --testsuite=./
|
||||
echo -e "\n\n"
|
||||
# Ignoring autogenerated files
|
||||
# -- Migration directories
|
||||
# Ignoring error codes
|
||||
# -- E128 continuation line under-indented for visual indent
|
||||
# -- E225 missing whitespace around operator
|
||||
# -- E501 line too long
|
||||
|
||||
pep8 --exclude=migrations --ignore=E128,E225,E501 .
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1 @@
|
|||
Django>=1.5.1
|
||||
python-slugify>=0.0.4
|
||||
|
||||
|
|
|
|||
9
setup.py
9
setup.py
|
|
@ -14,7 +14,7 @@ url = 'https://github.com/un33k/django-uuslug'
|
|||
author = 'Val Neekman'
|
||||
author_email = 'info@neekware.com'
|
||||
license = 'BSD'
|
||||
install_requires = ['python-slugify>=0.0.4']
|
||||
install_requires = ['python-slugify>=0.0.7']
|
||||
classifiers = [
|
||||
'Development Status :: 5 - Production/Stable',
|
||||
'Environment :: Web Environment',
|
||||
|
|
@ -25,6 +25,7 @@ classifiers = [
|
|||
'Topic :: Utilities'
|
||||
]
|
||||
|
||||
|
||||
def get_version(package):
|
||||
"""
|
||||
Return package version as listed in `__version__` in `init.py`.
|
||||
|
|
@ -61,9 +62,9 @@ def get_package_data(package):
|
|||
if sys.argv[-1] == 'publish':
|
||||
os.system("python setup.py sdist upload")
|
||||
args = {'version': get_version(package)}
|
||||
print "You probably want to also tag the version now:"
|
||||
print " git tag -a %(version)s -m 'version %(version)s'" % args
|
||||
print " git push --tags"
|
||||
print("You probably want to also tag the version now:")
|
||||
print(" git tag -a %(version)s -m 'version %(version)s'" % args)
|
||||
print(" git push --tags")
|
||||
sys.exit()
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,20 +1,28 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
__version__ = '1.0.0'
|
||||
__version__ = '1.0.2'
|
||||
|
||||
from django.utils import six
|
||||
|
||||
if six.PY3:
|
||||
from django.utils.encoding import smart_str
|
||||
else:
|
||||
from django.utils.encoding import smart_unicode as smart_str
|
||||
|
||||
from django.utils.encoding import smart_unicode
|
||||
from slugify import slugify as pyslugify
|
||||
|
||||
__all__ = ['slugify', 'uuslug']
|
||||
|
||||
|
||||
def slugify(text, entities=True, decimal=True, hexadecimal=True, max_length=0, word_boundary=False, separator='-'):
|
||||
""" Make a slug from a given text """
|
||||
|
||||
return smart_unicode(pyslugify(text, entities, decimal, hexadecimal, max_length, word_boundary, separator))
|
||||
|
||||
return smart_str(pyslugify(text, entities, decimal, hexadecimal, max_length, word_boundary, separator))
|
||||
|
||||
|
||||
def uuslug(s, instance, entities=True, decimal=True, hexadecimal=True,
|
||||
slug_field='slug', filter_dict=None, start_no=1, max_length=0, word_boundary=False, separator='-'):
|
||||
slug_field='slug', filter_dict=None, start_no=1, max_length=0,
|
||||
word_boundary=False, separator='-'):
|
||||
|
||||
""" This method tries a little harder than django's django.template.defaultfilters.slugify. """
|
||||
|
||||
|
|
@ -35,13 +43,8 @@ def uuslug(s, instance, entities=True, decimal=True, hexadecimal=True,
|
|||
while queryset.filter(**{slug_field: new_slug}).exists():
|
||||
if max_length > 0:
|
||||
if len(slug) + len(separator) + len(str(counter)) > max_length:
|
||||
slug = slug[:max_length-len(slug)-len(separator)-len(str(counter))] # make room for the "-1, -2 ... etc"
|
||||
slug = slug[:max_length - len(slug) - len(separator) - len(str(counter))]
|
||||
new_slug = "%s%s%s" % (slug, separator, counter)
|
||||
counter += 1
|
||||
|
||||
return new_slug
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
import os
|
||||
|
||||
|
||||
# create a database table only in unit test mode
|
||||
if 'testsettings' in os.environ['DJANGO_SETTINGS_MODULE']:
|
||||
from django.db import models
|
||||
|
|
@ -16,7 +17,6 @@ if 'testsettings' in os.environ['DJANGO_SETTINGS_MODULE']:
|
|||
self.slug = uuslug(self.name, instance=self)
|
||||
super(CoolSlug, self).save(*args, **kwargs)
|
||||
|
||||
|
||||
class AnotherSlug(models.Model):
|
||||
name = models.CharField(max_length=100)
|
||||
slug = models.CharField(max_length=200)
|
||||
|
|
@ -28,7 +28,6 @@ if 'testsettings' in os.environ['DJANGO_SETTINGS_MODULE']:
|
|||
self.slug = uuslug(self.name, instance=self, start_no=2)
|
||||
super(AnotherSlug, self).save(*args, **kwargs)
|
||||
|
||||
|
||||
class TruncatedSlug(models.Model):
|
||||
name = models.CharField(max_length=15)
|
||||
slug = models.CharField(max_length=17)
|
||||
|
|
@ -40,7 +39,6 @@ if 'testsettings' in os.environ['DJANGO_SETTINGS_MODULE']:
|
|||
self.slug = uuslug(self.name, instance=self, start_no=2, max_length=17, word_boundary=False)
|
||||
super(TruncatedSlug, self).save(*args, **kwargs)
|
||||
|
||||
|
||||
class SmartTruncatedSlug(models.Model):
|
||||
name = models.CharField(max_length=17)
|
||||
slug = models.CharField(max_length=17)
|
||||
|
|
@ -52,7 +50,6 @@ if 'testsettings' in os.environ['DJANGO_SETTINGS_MODULE']:
|
|||
self.slug = uuslug(self.name, instance=self, start_no=2, max_length=17, word_boundary=True)
|
||||
super(SmartTruncatedSlug, self).save(*args, **kwargs)
|
||||
|
||||
|
||||
class SmartTruncatedExactWordBoundrySlug(models.Model):
|
||||
name = models.CharField(max_length=19)
|
||||
slug = models.CharField(max_length=19)
|
||||
|
|
@ -64,7 +61,6 @@ if 'testsettings' in os.environ['DJANGO_SETTINGS_MODULE']:
|
|||
self.slug = uuslug(self.name, instance=self, start_no=9, max_length=19, word_boundary=True)
|
||||
super(SmartTruncatedExactWordBoundrySlug, self).save(*args, **kwargs)
|
||||
|
||||
|
||||
class CoolSlugDifferentSeparator(models.Model):
|
||||
name = models.CharField(max_length=100)
|
||||
slug = models.CharField(max_length=200)
|
||||
|
|
@ -86,6 +82,3 @@ if 'testsettings' in os.environ['DJANGO_SETTINGS_MODULE']:
|
|||
def save(self, *args, **kwargs):
|
||||
self.slug = uuslug(self.name, instance=self, start_no=2, max_length=17, word_boundary=False, separator='_')
|
||||
super(TruncatedSlugDifferentSeparator, self).save(*args, **kwargs)
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ from uuslug.models import (CoolSlug, AnotherSlug, TruncatedSlug,
|
|||
SmartTruncatedSlug, SmartTruncatedExactWordBoundrySlug,
|
||||
CoolSlugDifferentSeparator, TruncatedSlugDifferentSeparator)
|
||||
|
||||
|
||||
class SlugUnicodeTestCase(TestCase):
|
||||
"""Tests for Slug - Unicode"""
|
||||
|
||||
|
|
@ -17,63 +18,64 @@ class SlugUnicodeTestCase(TestCase):
|
|||
|
||||
txt = "This is a test ---"
|
||||
r = slugify(txt)
|
||||
self.assertEquals(r, "this-is-a-test")
|
||||
|
||||
self.assertEqual(r, "this-is-a-test")
|
||||
|
||||
txt = "This -- is a ## test ---"
|
||||
r = slugify(txt)
|
||||
self.assertEquals(r, "this-is-a-test")
|
||||
|
||||
self.assertEqual(r, "this-is-a-test")
|
||||
|
||||
txt = 'C\'est déjà l\'été.'
|
||||
r = slugify(txt)
|
||||
self.assertEquals(r, "cest-deja-lete")
|
||||
self.assertEqual(r, "cest-deja-lete")
|
||||
|
||||
txt = 'Nín hǎo. Wǒ shì zhōng guó rén'
|
||||
r = slugify(txt)
|
||||
self.assertEquals(r, "nin-hao-wo-shi-zhong-guo-ren")
|
||||
self.assertEqual(r, "nin-hao-wo-shi-zhong-guo-ren")
|
||||
|
||||
txt = 'Компьютер'
|
||||
r = slugify(txt)
|
||||
self.assertEquals(r, "kompiuter")
|
||||
self.assertEqual(r, "kompiuter")
|
||||
|
||||
txt = 'jaja---lol-méméméoo--a'
|
||||
r = slugify(txt)
|
||||
self.assertEquals(r, "jaja-lol-mememeoo-a")
|
||||
self.assertEqual(r, "jaja-lol-mememeoo-a")
|
||||
|
||||
txt = 'jaja---lol-méméméoo--a'
|
||||
r = slugify(txt, max_length=9)
|
||||
self.assertEquals(r, "jaja-lol")
|
||||
self.assertEqual(r, "jaja-lol")
|
||||
|
||||
txt = 'jaja---lol-méméméoo--a'
|
||||
r = slugify(txt, max_length=15)
|
||||
self.assertEquals(r, "jaja-lol-mememe")
|
||||
self.assertEqual(r, "jaja-lol-mememe")
|
||||
|
||||
txt = 'jaja---lol-méméméoo--a'
|
||||
r = slugify(txt, max_length=50)
|
||||
self.assertEquals(r, "jaja-lol-mememeoo-a")
|
||||
self.assertEqual(r, "jaja-lol-mememeoo-a")
|
||||
|
||||
txt = 'jaja---lol-méméméoo--a'
|
||||
r = slugify(txt, max_length=15, word_boundary=True)
|
||||
self.assertEquals(r, "jaja-lol-a")
|
||||
self.assertEqual(r, "jaja-lol-a")
|
||||
|
||||
txt = 'jaja---lol-méméméoo--a'
|
||||
r = slugify(txt, max_length=19, word_boundary=True)
|
||||
self.assertEquals(r, "jaja-lol-mememeoo")
|
||||
self.assertEqual(r, "jaja-lol-mememeoo")
|
||||
|
||||
txt = 'jaja---lol-méméméoo--a'
|
||||
r = slugify(txt, max_length=20, word_boundary=True)
|
||||
self.assertEquals(r, "jaja-lol-mememeoo-a")
|
||||
self.assertEqual(r, "jaja-lol-mememeoo-a")
|
||||
|
||||
txt = 'jaja---lol-méméméoo--a'
|
||||
r = slugify(txt, max_length=20, word_boundary=True, separator=".")
|
||||
self.assertEquals(r, "jaja.lol.mememeoo.a")
|
||||
self.assertEqual(r, "jaja.lol.mememeoo.a")
|
||||
|
||||
txt = 'jaja---lol-méméméoo--a'
|
||||
r = slugify(txt, max_length=20, word_boundary=True, separator="ZZZZZZ")
|
||||
self.assertEquals(r, "jajaZZZZZZlolZZZZZZmememeooZZZZZZa")
|
||||
self.assertEqual(r, "jajaZZZZZZlolZZZZZZmememeooZZZZZZa")
|
||||
|
||||
|
||||
class SlugUniqueTestCase(TestCase):
|
||||
"""Tests for Slug - Unique"""
|
||||
|
||||
|
||||
def test_manager(self):
|
||||
name = "john"
|
||||
|
||||
|
|
@ -82,7 +84,7 @@ class SlugUniqueTestCase(TestCase):
|
|||
# 1. query: SELECT test, if slug 'john' exists
|
||||
# 2. query: INSERT values
|
||||
obj = CoolSlug.objects.create(name=name)
|
||||
self.assertEquals(obj.slug, "john")
|
||||
self.assertEqual(obj.slug, "john")
|
||||
|
||||
#with PrintQueries("create second john"): # display the SQL queries
|
||||
with self.assertNumQueries(3):
|
||||
|
|
@ -90,7 +92,7 @@ class SlugUniqueTestCase(TestCase):
|
|||
# 2. query: SELECT test, if slug 'john-1' exists
|
||||
# 3. query: INSERT values
|
||||
obj = CoolSlug.objects.create(name=name)
|
||||
self.assertEquals(obj.slug, "john-1")
|
||||
self.assertEqual(obj.slug, "john-1")
|
||||
|
||||
def test_start_no(self):
|
||||
name = 'Foo Bar'
|
||||
|
|
@ -100,7 +102,7 @@ class SlugUniqueTestCase(TestCase):
|
|||
# 1. query: SELECT test, if slug 'foo-bar' exists
|
||||
# 2. query: INSERT values
|
||||
obj = AnotherSlug.objects.create(name=name)
|
||||
self.assertEquals(obj.slug, "foo-bar")
|
||||
self.assertEqual(obj.slug, "foo-bar")
|
||||
|
||||
#with PrintQueries("create second 'Foo Bar'"): # display the SQL queries
|
||||
with self.assertNumQueries(3):
|
||||
|
|
@ -108,7 +110,7 @@ class SlugUniqueTestCase(TestCase):
|
|||
# 2. query: SELECT test, if slug 'foo-bar-2' exists
|
||||
# 3. query: INSERT values
|
||||
obj = AnotherSlug.objects.create(name=name)
|
||||
self.assertEquals(obj.slug, "foo-bar-2")
|
||||
self.assertEqual(obj.slug, "foo-bar-2")
|
||||
|
||||
#with PrintQueries("create third 'Foo Bar'"): # display the SQL queries
|
||||
with self.assertNumQueries(4):
|
||||
|
|
@ -117,33 +119,32 @@ class SlugUniqueTestCase(TestCase):
|
|||
# 3. query: SELECT test, if slug 'foo-bar-3' exists
|
||||
# 4. query: INSERT values
|
||||
obj = AnotherSlug.objects.create(name=name)
|
||||
self.assertEquals(obj.slug, "foo-bar-3")
|
||||
|
||||
self.assertEqual(obj.slug, "foo-bar-3")
|
||||
|
||||
def test_max_length(self):
|
||||
name = 'jaja---lol-méméméoo--a'
|
||||
|
||||
obj = TruncatedSlug.objects.create(name=name)
|
||||
self.assertEquals(obj.slug, "jaja-lol-mememeoo") # 17 is max_length
|
||||
self.assertEqual(obj.slug, "jaja-lol-mememeoo") # 17 is max_length
|
||||
|
||||
obj = TruncatedSlug.objects.create(name=name)
|
||||
self.assertEquals(obj.slug, "jaja-lol-mememe-2") # 17 is max_length
|
||||
self.assertEqual(obj.slug, "jaja-lol-mememe-2") # 17 is max_length
|
||||
|
||||
obj = TruncatedSlug.objects.create(name=name)
|
||||
self.assertEquals(obj.slug, "jaja-lol-mememe-3") # 17 is max_length
|
||||
|
||||
self.assertEqual(obj.slug, "jaja-lol-mememe-3") # 17 is max_length
|
||||
|
||||
def test_max_length_exact_word_boundry(self):
|
||||
name = 'jaja---lol-méméméoo--a'
|
||||
|
||||
obj = SmartTruncatedExactWordBoundrySlug.objects.create(name=name)
|
||||
self.assertEquals(obj.slug, "jaja-lol-mememeoo") # 19 is max_length
|
||||
self.assertEqual(obj.slug, "jaja-lol-mememeoo") # 19 is max_length
|
||||
|
||||
obj = SmartTruncatedExactWordBoundrySlug.objects.create(name=name)
|
||||
self.assertEquals(obj.slug, "jaja-lol-mememeoo-9") # 19 is max_length, start_no = 9
|
||||
self.assertEqual(obj.slug, "jaja-lol-mememeoo-9") # 19 is max_length, start_no = 9
|
||||
|
||||
obj = SmartTruncatedExactWordBoundrySlug.objects.create(name=name)
|
||||
self.assertEquals(obj.slug, "jaja-lol-mememeo-10") # 19 is max_length, readjust for "-10"
|
||||
self.assertEqual(obj.slug, "jaja-lol-mememeo-10") # 19 is max_length, readjust for "-10"
|
||||
|
||||
|
||||
class SlugUniqueDifferentSeparatorTestCase(TestCase):
|
||||
"""Tests for Slug - Unique with different separator """
|
||||
|
|
@ -156,7 +157,7 @@ class SlugUniqueDifferentSeparatorTestCase(TestCase):
|
|||
# 1. query: SELECT test, if slug 'john' exists
|
||||
# 2. query: INSERT values
|
||||
obj = CoolSlugDifferentSeparator.objects.create(name=name)
|
||||
self.assertEquals(obj.slug, "john")
|
||||
self.assertEqual(obj.slug, "john")
|
||||
|
||||
#with PrintQueries("create second john"): # display the SQL queries
|
||||
with self.assertNumQueries(3):
|
||||
|
|
@ -164,7 +165,7 @@ class SlugUniqueDifferentSeparatorTestCase(TestCase):
|
|||
# 2. query: SELECT test, if slug 'john-1' exists
|
||||
# 3. query: INSERT values
|
||||
obj = CoolSlugDifferentSeparator.objects.create(name=name)
|
||||
self.assertEquals(obj.slug, "john_1")
|
||||
self.assertEqual(obj.slug, "john_1")
|
||||
|
||||
#with PrintQueries("create third john"): # display the SQL queries
|
||||
with self.assertNumQueries(4):
|
||||
|
|
@ -172,19 +173,16 @@ class SlugUniqueDifferentSeparatorTestCase(TestCase):
|
|||
# 2. query: SELECT test, if slug 'john-1' exists
|
||||
# 3. query: INSERT values
|
||||
obj = CoolSlugDifferentSeparator.objects.create(name=name)
|
||||
self.assertEquals(obj.slug, "john_2")
|
||||
self.assertEqual(obj.slug, "john_2")
|
||||
|
||||
def test_max_length(self):
|
||||
name = 'jaja---lol-méméméoo--a'
|
||||
|
||||
obj = TruncatedSlugDifferentSeparator.objects.create(name=name)
|
||||
self.assertEquals(obj.slug, "jaja_lol_mememeoo") # 17 is max_length
|
||||
self.assertEqual(obj.slug, "jaja_lol_mememeoo") # 17 is max_length
|
||||
|
||||
obj = TruncatedSlugDifferentSeparator.objects.create(name=name)
|
||||
self.assertEquals(obj.slug, "jaja_lol_mememe_2") # 17 is max_length
|
||||
self.assertEqual(obj.slug, "jaja_lol_mememe_2") # 17 is max_length
|
||||
|
||||
obj = TruncatedSlugDifferentSeparator.objects.create(name=name)
|
||||
self.assertEquals(obj.slug, "jaja_lol_mememe_3") # 17 is max_length
|
||||
|
||||
|
||||
|
||||
self.assertEqual(obj.slug, "jaja_lol_mememe_3") # 17 is max_length
|
||||
|
|
|
|||
Loading…
Reference in a new issue