blob: 0c98e8ebe4b7a18d30467921af24d87e651a9e11 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
import os
from pathlib import Path
import django
from django.test import SimpleTestCase
from django.utils.warnings import django_file_prefixes
class DjangoFilePrefixesTests(SimpleTestCase):
def setUp(self):
django_file_prefixes.cache_clear()
self.addCleanup(django_file_prefixes.cache_clear)
def test_no_file(self):
orig_file = django.__file__
try:
# Depending on the cwd, Python might give a local checkout
# precedence over installed Django, producing None.
django.__file__ = None
self.assertEqual(django_file_prefixes(), ())
del django.__file__
self.assertEqual(django_file_prefixes(), ())
finally:
django.__file__ = orig_file
def test_with_file(self):
prefixes = django_file_prefixes()
self.assertIsInstance(prefixes, tuple)
self.assertEqual(len(prefixes), 1)
self.assertTrue(prefixes[0].endswith(f"{os.path.sep}django{os.path.sep}"))
def test_does_not_match_packages_prefixed_with_django(self):
other_file = Path(django.__file__).parent.parent / "djangoextra" / "__init__.py"
self.assertFalse(str(other_file).startswith(django_file_prefixes()))
|