def test_slugify_defaults(): slug = utils.slugify(u'a b c') assert slug == u'a-b-c' slug = utils.slugify(u'Vìèt Nâm') assert slug == normalize('NFKD', u'vìèt-nâm') word = ' '.join(['a'] * 80) slug = utils.slugify(word) assert len(slug) <= 75 assert slug[:-1] != '-' slug = utils.slugify(u'') assert slug == u''
def populate_slug(self): """Populates the slug in this model. If the `SLUG_FIELD` value is `None`, then this method is a noop. """ # TODO: have a fallback for failed slugs. value = getattr(self, self.SLUG_FIELD) if value is None: return self.slug = slugify(value)
def get_or_create(cls, tag): slug = slugify(tag) instance = db.session.query(Tag).get(slug) if instance is None: instance = Tag(tag=tag, slug=slug) return instance
def test_slugify_custom_limit(): slug = utils.slugify(u'a b c d e f g', limit=4) assert slug == u'a-b'
def test_slugify_custom_delim(): slug = utils.slugify(u'Vìèt Nâm', delim='+') assert slug == normalize('NFKD', u'vìèt+nâm')
def test_slugify_non_unicode(): slug = utils.slugify('test') assert isinstance(slug, unicode) assert slug == u'test'