Blame 0001-Add-upstream-test-suite.patch

Chenxiong Qi 7ed0c54
From 9b3f6e8d79158a4e8e088d5fb5681bd16dfd1df7 Mon Sep 17 00:00:00 2001
Chenxiong Qi 7ed0c54
From: Chenxiong Qi <qcxhome@gmail.com>
Chenxiong Qi 7ed0c54
Date: Sun, 10 Jul 2022 19:54:15 +0800
Chenxiong Qi 7ed0c54
Subject: [PATCH] Add upstream test suite
Chenxiong Qi 7ed0c54
Chenxiong Qi 7ed0c54
---
Chenxiong Qi 7ed0c54
 uuslug/tests/__init__.py     |   0
Chenxiong Qi 7ed0c54
 uuslug/tests/tests.py        | 272 +++++++++++++++++++++++++++++++++++
Chenxiong Qi 7ed0c54
 uuslug/tests/testsettings.py |   9 ++
Chenxiong Qi 7ed0c54
 3 files changed, 281 insertions(+)
Chenxiong Qi 7ed0c54
 create mode 100644 uuslug/tests/__init__.py
Chenxiong Qi 7ed0c54
 create mode 100644 uuslug/tests/tests.py
Chenxiong Qi 7ed0c54
 create mode 100644 uuslug/tests/testsettings.py
Chenxiong Qi 7ed0c54
Chenxiong Qi 7ed0c54
diff --git a/uuslug/tests/__init__.py b/uuslug/tests/__init__.py
Chenxiong Qi 7ed0c54
new file mode 100644
Chenxiong Qi 7ed0c54
index 0000000..e69de29
Chenxiong Qi 7ed0c54
diff --git a/uuslug/tests/tests.py b/uuslug/tests/tests.py
Chenxiong Qi 7ed0c54
new file mode 100644
Chenxiong Qi 7ed0c54
index 0000000..88ebfbe
Chenxiong Qi 7ed0c54
--- /dev/null
Chenxiong Qi 7ed0c54
+++ b/uuslug/tests/tests.py
Chenxiong Qi 7ed0c54
@@ -0,0 +1,272 @@
Chenxiong Qi 7ed0c54
+# -*- coding: utf-8 -*-
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+from django.test import TestCase
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+# http://pypi.python.org/pypi/django-tools/
Chenxiong Qi 7ed0c54
+# from django_tools.unittest_utils.print_sql import PrintQueries
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+from uuslug import slugify, uuslug
Chenxiong Qi 7ed0c54
+from uuslug.models import (CoolSlug, AnotherSlug, TruncatedSlug,
Chenxiong Qi 7ed0c54
+                           SmartTruncatedExactWordBoundarySlug,
Chenxiong Qi 7ed0c54
+                           CoolSlugDifferentSeparator, TruncatedSlugDifferentSeparator,
Chenxiong Qi 7ed0c54
+                           AutoTruncatedSlug)
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+class SlugUnicodeTestCase(TestCase):
Chenxiong Qi 7ed0c54
+    """Tests for Slug - Unicode"""
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+    def test_manager(self):
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        txt = "This is a test ---"
Chenxiong Qi 7ed0c54
+        r = slugify(txt)
Chenxiong Qi 7ed0c54
+        self.assertEqual(r, "this-is-a-test")
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        txt = "This -- is a ## test ---"
Chenxiong Qi 7ed0c54
+        r = slugify(txt)
Chenxiong Qi 7ed0c54
+        self.assertEqual(r, "this-is-a-test")
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        txt = '影師嗎'
Chenxiong Qi 7ed0c54
+        r = slugify(txt)
Chenxiong Qi 7ed0c54
+        self.assertEqual(r, "ying-shi-ma")
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        txt = 'C\'est déjà l\'été.'
Chenxiong Qi 7ed0c54
+        r = slugify(txt)
Chenxiong Qi 7ed0c54
+        self.assertEqual(r, "c-est-deja-l-ete")
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        txt = 'Nín hǎo. Wǒ shì zhōng guó rén'
Chenxiong Qi 7ed0c54
+        r = slugify(txt)
Chenxiong Qi 7ed0c54
+        self.assertEqual(r, "nin-hao-wo-shi-zhong-guo-ren")
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        txt = 'Компьютер'
Chenxiong Qi 7ed0c54
+        r = slugify(txt)
Chenxiong Qi 7ed0c54
+        self.assertEqual(r, "kompiuter")
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        txt = 'jaja---lol-méméméoo--a'
Chenxiong Qi 7ed0c54
+        r = slugify(txt)
Chenxiong Qi 7ed0c54
+        self.assertEqual(r, "jaja-lol-mememeoo-a")
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        txt = 'jaja---lol-méméméoo--a'
Chenxiong Qi 7ed0c54
+        r = slugify(txt, max_length=9)
Chenxiong Qi 7ed0c54
+        self.assertEqual(r, "jaja-lol")
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        txt = 'jaja---lol-méméméoo--a'
Chenxiong Qi 7ed0c54
+        r = slugify(txt, max_length=15)
Chenxiong Qi 7ed0c54
+        self.assertEqual(r, "jaja-lol-mememe")
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        txt = 'jaja---lol-méméméoo--a'
Chenxiong Qi 7ed0c54
+        r = slugify(txt, max_length=50)
Chenxiong Qi 7ed0c54
+        self.assertEqual(r, "jaja-lol-mememeoo-a")
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        txt = 'jaja---lol-méméméoo--a'
Chenxiong Qi 7ed0c54
+        r = slugify(txt, max_length=15, word_boundary=True)
Chenxiong Qi 7ed0c54
+        self.assertEqual(r, "jaja-lol-a")
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        txt = 'jaja---lol-méméméoo--a'
Chenxiong Qi 7ed0c54
+        r = slugify(txt, max_length=17, word_boundary=True)
Chenxiong Qi 7ed0c54
+        self.assertEqual(r, "jaja-lol-mememeoo")
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        txt = 'jaja---lol-méméméoo--a'
Chenxiong Qi 7ed0c54
+        r = slugify(txt, max_length=18, word_boundary=True)
Chenxiong Qi 7ed0c54
+        self.assertEqual(r, "jaja-lol-mememeoo")
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        txt = 'jaja---lol-méméméoo--a'
Chenxiong Qi 7ed0c54
+        r = slugify(txt, max_length=19, word_boundary=True)
Chenxiong Qi 7ed0c54
+        self.assertEqual(r, "jaja-lol-mememeoo-a")
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        txt = 'jaja---lol-méméméoo--a'
Chenxiong Qi 7ed0c54
+        r = slugify(txt, max_length=20, word_boundary=True, separator=".")
Chenxiong Qi 7ed0c54
+        self.assertEqual(r, "jaja.lol.mememeoo.a")
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        txt = 'jaja---lol-méméméoo--a'
Chenxiong Qi 7ed0c54
+        r = slugify(txt, max_length=20, word_boundary=True, separator="ZZZZZZ")
Chenxiong Qi 7ed0c54
+        self.assertEqual(r, "jajaZZZZZZlolZZZZZZmememeooZZZZZZa")
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        txt = "___This is a test ---"
Chenxiong Qi 7ed0c54
+        r = slugify(txt)
Chenxiong Qi 7ed0c54
+        self.assertEqual(r, "this-is-a-test")
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        txt = "___This is a test___"
Chenxiong Qi 7ed0c54
+        r = slugify(txt)
Chenxiong Qi 7ed0c54
+        self.assertEqual(r, "this-is-a-test")
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        txt = 'one two three four five'
Chenxiong Qi 7ed0c54
+        r = slugify(txt, max_length=13, word_boundary=True, save_order=True)
Chenxiong Qi 7ed0c54
+        self.assertEqual(r, "one-two-three")
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        txt = 'one two three four five'
Chenxiong Qi 7ed0c54
+        r = slugify(txt, max_length=13, word_boundary=True, save_order=False)
Chenxiong Qi 7ed0c54
+        self.assertEqual(r, "one-two-three")
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        txt = 'one two three four five'
Chenxiong Qi 7ed0c54
+        r = slugify(txt, max_length=12, word_boundary=True, save_order=False)
Chenxiong Qi 7ed0c54
+        self.assertEqual(r, "one-two-four")
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        txt = 'one two three four five'
Chenxiong Qi 7ed0c54
+        r = slugify(txt, max_length=12, word_boundary=True, save_order=True)
Chenxiong Qi 7ed0c54
+        self.assertEqual(r, "one-two")
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        txt = 'this has a stopword'
Chenxiong Qi 7ed0c54
+        r = slugify(txt, stopwords=['stopword'])
Chenxiong Qi 7ed0c54
+        self.assertEqual(r, 'this-has-a')
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        txt = 'the quick brown fox jumps over the lazy dog'
Chenxiong Qi 7ed0c54
+        r = slugify(txt, stopwords=['the'])
Chenxiong Qi 7ed0c54
+        self.assertEqual(r, 'quick-brown-fox-jumps-over-lazy-dog')
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        txt = 'Foo A FOO B foo C'
Chenxiong Qi 7ed0c54
+        r = slugify(txt, stopwords=['foo'])
Chenxiong Qi 7ed0c54
+        self.assertEqual(r, 'a-b-c')
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        txt = 'Foo A FOO B foo C'
Chenxiong Qi 7ed0c54
+        r = slugify(txt, stopwords=['FOO'])
Chenxiong Qi 7ed0c54
+        self.assertEqual(r, 'a-b-c')
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        txt = 'the quick brown fox jumps over the lazy dog in a hurry'
Chenxiong Qi 7ed0c54
+        r = slugify(txt, stopwords=['the', 'in', 'a', 'hurry'])
Chenxiong Qi 7ed0c54
+        self.assertEqual(r, 'quick-brown-fox-jumps-over-lazy-dog')
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+class SlugUniqueTestCase(TestCase):
Chenxiong Qi 7ed0c54
+    """Tests for Slug - Unique"""
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+    def test_manager(self):
Chenxiong Qi 7ed0c54
+        name = "john"
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        # with PrintQueries("create first john"): # display the SQL queries
Chenxiong Qi 7ed0c54
+        with self.assertNumQueries(2):
Chenxiong Qi 7ed0c54
+            # 1. query: SELECT test, if slug 'john' exists
Chenxiong Qi 7ed0c54
+            # 2. query: INSERT values
Chenxiong Qi 7ed0c54
+            obj = CoolSlug.objects.create(name=name)
Chenxiong Qi 7ed0c54
+        self.assertEqual(obj.slug, "john")
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        # with PrintQueries("create second john"): # display the SQL queries
Chenxiong Qi 7ed0c54
+        with self.assertNumQueries(3):
Chenxiong Qi 7ed0c54
+            # 1. query: SELECT test, if slug 'john' exists
Chenxiong Qi 7ed0c54
+            # 2. query: SELECT test, if slug 'john-1' exists
Chenxiong Qi 7ed0c54
+            # 3. query: INSERT values
Chenxiong Qi 7ed0c54
+            obj = CoolSlug.objects.create(name=name)
Chenxiong Qi 7ed0c54
+        self.assertEqual(obj.slug, "john-1")
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+    def test_start_no(self):
Chenxiong Qi 7ed0c54
+        name = 'Foo Bar'
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        # with PrintQueries("create first 'Foo Bar'"): # display the SQL queries
Chenxiong Qi 7ed0c54
+        with self.assertNumQueries(2):
Chenxiong Qi 7ed0c54
+            # 1. query: SELECT test, if slug 'foo-bar' exists
Chenxiong Qi 7ed0c54
+            # 2. query: INSERT values
Chenxiong Qi 7ed0c54
+            obj = AnotherSlug.objects.create(name=name)
Chenxiong Qi 7ed0c54
+        self.assertEqual(obj.slug, "foo-bar")
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        # with PrintQueries("create second 'Foo Bar'"): # display the SQL queries
Chenxiong Qi 7ed0c54
+        with self.assertNumQueries(3):
Chenxiong Qi 7ed0c54
+            # 1. query: SELECT test, if slug 'foo-bar' exists
Chenxiong Qi 7ed0c54
+            # 2. query: SELECT test, if slug 'foo-bar-2' exists
Chenxiong Qi 7ed0c54
+            # 3. query: INSERT values
Chenxiong Qi 7ed0c54
+            obj = AnotherSlug.objects.create(name=name)
Chenxiong Qi 7ed0c54
+        self.assertEqual(obj.slug, "foo-bar-2")
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        # with PrintQueries("create third 'Foo Bar'"): # display the SQL queries
Chenxiong Qi 7ed0c54
+        with self.assertNumQueries(4):
Chenxiong Qi 7ed0c54
+            # 1. query: SELECT test, if slug 'foo-bar' exists
Chenxiong Qi 7ed0c54
+            # 2. query: SELECT test, if slug 'foo-bar-2' exists
Chenxiong Qi 7ed0c54
+            # 3. query: SELECT test, if slug 'foo-bar-3' exists
Chenxiong Qi 7ed0c54
+            # 4. query: INSERT values
Chenxiong Qi 7ed0c54
+            obj = AnotherSlug.objects.create(name=name)
Chenxiong Qi 7ed0c54
+        self.assertEqual(obj.slug, "foo-bar-3")
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+    def test_max_length(self):
Chenxiong Qi 7ed0c54
+        name = 'jaja---lol-méméméoo--a'
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        obj = TruncatedSlug.objects.create(name=name)
Chenxiong Qi 7ed0c54
+        self.assertEqual(obj.slug, "jaja-lol-mememeoo")  # 17 is max_length
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        obj = TruncatedSlug.objects.create(name=name)
Chenxiong Qi 7ed0c54
+        self.assertEqual(obj.slug, "jaja-lol-mememe-2")  # 17 is max_length
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        obj = TruncatedSlug.objects.create(name=name)
Chenxiong Qi 7ed0c54
+        self.assertEqual(obj.slug, "jaja-lol-mememe-3")  # 17 is max_length
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+    def test_max_length_exact_word_boundary(self):
Chenxiong Qi 7ed0c54
+        name = 'jaja---lol-méméméoo--a'
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        obj = SmartTruncatedExactWordBoundarySlug.objects.create(name=name)
Chenxiong Qi 7ed0c54
+        self.assertEqual(obj.slug, "jaja-lol-mememeoo-a")  # 19 is max_length
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        obj = SmartTruncatedExactWordBoundarySlug.objects.create(name=name)
Chenxiong Qi 7ed0c54
+        self.assertEqual(obj.slug, "jaja-lol-mememeoo-9")  # 19 is max_length, start_no = 9
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        obj = SmartTruncatedExactWordBoundarySlug.objects.create(name=name)
Chenxiong Qi 7ed0c54
+        self.assertEqual(obj.slug, "jaja-lol-mememeo-10")  # 19 is max_length, readjust for "-10"
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+class SlugUniqueDifferentSeparatorTestCase(TestCase):
Chenxiong Qi 7ed0c54
+    """Tests for Slug - Unique with different separator """
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+    def test_manager(self):
Chenxiong Qi 7ed0c54
+        name = "john"
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        # with PrintQueries("create first john"): # display the SQL queries
Chenxiong Qi 7ed0c54
+        with self.assertNumQueries(2):
Chenxiong Qi 7ed0c54
+            # 1. query: SELECT test, if slug 'john' exists
Chenxiong Qi 7ed0c54
+            # 2. query: INSERT values
Chenxiong Qi 7ed0c54
+            obj = CoolSlugDifferentSeparator.objects.create(name=name)
Chenxiong Qi 7ed0c54
+        self.assertEqual(obj.slug, "john")
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        # with PrintQueries("create second john"): # display the SQL queries
Chenxiong Qi 7ed0c54
+        with self.assertNumQueries(3):
Chenxiong Qi 7ed0c54
+            # 1. query: SELECT test, if slug 'john' exists
Chenxiong Qi 7ed0c54
+            # 2. query: SELECT test, if slug 'john-1' exists
Chenxiong Qi 7ed0c54
+            # 3. query: INSERT values
Chenxiong Qi 7ed0c54
+            obj = CoolSlugDifferentSeparator.objects.create(name=name)
Chenxiong Qi 7ed0c54
+        self.assertEqual(obj.slug, "john_1")
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        # with PrintQueries("create third john"): # display the SQL queries
Chenxiong Qi 7ed0c54
+        with self.assertNumQueries(4):
Chenxiong Qi 7ed0c54
+            # 1. query: SELECT test, if slug 'john' exists
Chenxiong Qi 7ed0c54
+            # 2. query: SELECT test, if slug 'john-1' exists
Chenxiong Qi 7ed0c54
+            # 3. query: INSERT values
Chenxiong Qi 7ed0c54
+            obj = CoolSlugDifferentSeparator.objects.create(name=name)
Chenxiong Qi 7ed0c54
+        self.assertEqual(obj.slug, "john_2")
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+    def test_max_length(self):
Chenxiong Qi 7ed0c54
+        name = 'jaja---lol-méméméoo--a'
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        obj = TruncatedSlugDifferentSeparator.objects.create(name=name)
Chenxiong Qi 7ed0c54
+        self.assertEqual(obj.slug, "jaja_lol_mememeoo")  # 17 is max_length
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        obj = TruncatedSlugDifferentSeparator.objects.create(name=name)
Chenxiong Qi 7ed0c54
+        self.assertEqual(obj.slug, "jaja_lol_mememe_2")  # 17 is max_length
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        obj = TruncatedSlugDifferentSeparator.objects.create(name=name)
Chenxiong Qi 7ed0c54
+        self.assertEqual(obj.slug, "jaja_lol_mememe_3")  # 17 is max_length
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+class SlugMaxLengthTestCase(TestCase):
Chenxiong Qi 7ed0c54
+    """Tests for Slug - Max length less than field length"""
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+    def test_manager(self):
Chenxiong Qi 7ed0c54
+        name = "john" * 51
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        with self.assertNumQueries(2):
Chenxiong Qi 7ed0c54
+            obj = CoolSlug.objects.create(name=name)
Chenxiong Qi 7ed0c54
+        self.assertEqual(obj.slug, name[:200])
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        with self.assertNumQueries(3):
Chenxiong Qi 7ed0c54
+            obj = CoolSlug.objects.create(name=name)
Chenxiong Qi 7ed0c54
+        self.assertEqual(obj.slug, name[:198] + "-1")
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+    def test_max_length_greater_than_field_slug(self):
Chenxiong Qi 7ed0c54
+        name = 'jaja---lol-méméméoo--a-méméméoo'
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        obj = AutoTruncatedSlug.objects.create(name=name)
Chenxiong Qi 7ed0c54
+        # 10 is field max_length, 20 is uuslug function max_length
Chenxiong Qi 7ed0c54
+        self.assertEqual(obj.slug, "jaja-lol-m")
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+        # 10 is field max_length, 20 is uuslug function max_length
Chenxiong Qi 7ed0c54
+        obj = AutoTruncatedSlug.objects.create(name=name)
Chenxiong Qi 7ed0c54
+        self.assertEqual(obj.slug, "jaja-lol-1")
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+
Chenxiong Qi 7ed0c54
+class ModelInstanceExeptionTestCase(TestCase):
Chenxiong Qi 7ed0c54
+    def test_uuslug_checks_for_model_instance(self):
Chenxiong Qi 7ed0c54
+        self.assertRaises(Exception, uuslug, 'test_slug', CoolSlug)
Chenxiong Qi 7ed0c54
diff --git a/uuslug/tests/testsettings.py b/uuslug/tests/testsettings.py
Chenxiong Qi 7ed0c54
new file mode 100644
Chenxiong Qi 7ed0c54
index 0000000..bcdd1fe
Chenxiong Qi 7ed0c54
--- /dev/null
Chenxiong Qi 7ed0c54
+++ b/uuslug/tests/testsettings.py
Chenxiong Qi 7ed0c54
@@ -0,0 +1,9 @@
Chenxiong Qi 7ed0c54
+DATABASES = {
Chenxiong Qi 7ed0c54
+    'default': {
Chenxiong Qi 7ed0c54
+        'ENGINE': 'django.db.backends.sqlite3',
Chenxiong Qi 7ed0c54
+        'NAME': ':memory:',
Chenxiong Qi 7ed0c54
+    },
Chenxiong Qi 7ed0c54
+}
Chenxiong Qi 7ed0c54
+SECRET_KEY = "un33k"
Chenxiong Qi 7ed0c54
+INSTALLED_APPS = ['uuslug']
Chenxiong Qi 7ed0c54
+MIDDLEWARE_CLASSES = []
Chenxiong Qi 7ed0c54
-- 
Chenxiong Qi 7ed0c54
2.35.3
Chenxiong Qi 7ed0c54