mirror of
https://github.com/django/django.git
synced 2025-10-24 14:16:09 +00:00
Refs #33476 -- Reformatted code with Black.
This commit is contained in:
committed by
Mariusz Felisiak
parent
f68fa8b45d
commit
9c19aff7c7
@@ -8,59 +8,67 @@ from ..models import Article, Author
|
||||
|
||||
class StrIndexTests(TestCase):
|
||||
def test_annotate_charfield(self):
|
||||
Author.objects.create(name='George. R. R. Martin')
|
||||
Author.objects.create(name='J. R. R. Tolkien')
|
||||
Author.objects.create(name='Terry Pratchett')
|
||||
authors = Author.objects.annotate(fullstop=StrIndex('name', Value('R.')))
|
||||
self.assertQuerysetEqual(authors.order_by('name'), [9, 4, 0], lambda a: a.fullstop)
|
||||
Author.objects.create(name="George. R. R. Martin")
|
||||
Author.objects.create(name="J. R. R. Tolkien")
|
||||
Author.objects.create(name="Terry Pratchett")
|
||||
authors = Author.objects.annotate(fullstop=StrIndex("name", Value("R.")))
|
||||
self.assertQuerysetEqual(
|
||||
authors.order_by("name"), [9, 4, 0], lambda a: a.fullstop
|
||||
)
|
||||
|
||||
def test_annotate_textfield(self):
|
||||
Article.objects.create(
|
||||
title='How to Django',
|
||||
text='This is about How to Django.',
|
||||
title="How to Django",
|
||||
text="This is about How to Django.",
|
||||
written=timezone.now(),
|
||||
)
|
||||
Article.objects.create(
|
||||
title='How to Tango',
|
||||
title="How to Tango",
|
||||
text="Won't find anything here.",
|
||||
written=timezone.now(),
|
||||
)
|
||||
articles = Article.objects.annotate(title_pos=StrIndex('text', 'title'))
|
||||
self.assertQuerysetEqual(articles.order_by('title'), [15, 0], lambda a: a.title_pos)
|
||||
articles = Article.objects.annotate(title_pos=StrIndex("text", "title"))
|
||||
self.assertQuerysetEqual(
|
||||
articles.order_by("title"), [15, 0], lambda a: a.title_pos
|
||||
)
|
||||
|
||||
def test_order_by(self):
|
||||
Author.objects.create(name='Terry Pratchett')
|
||||
Author.objects.create(name='J. R. R. Tolkien')
|
||||
Author.objects.create(name='George. R. R. Martin')
|
||||
Author.objects.create(name="Terry Pratchett")
|
||||
Author.objects.create(name="J. R. R. Tolkien")
|
||||
Author.objects.create(name="George. R. R. Martin")
|
||||
self.assertQuerysetEqual(
|
||||
Author.objects.order_by(StrIndex('name', Value('R.')).asc()), [
|
||||
'Terry Pratchett',
|
||||
'J. R. R. Tolkien',
|
||||
'George. R. R. Martin',
|
||||
Author.objects.order_by(StrIndex("name", Value("R.")).asc()),
|
||||
[
|
||||
"Terry Pratchett",
|
||||
"J. R. R. Tolkien",
|
||||
"George. R. R. Martin",
|
||||
],
|
||||
lambda a: a.name
|
||||
lambda a: a.name,
|
||||
)
|
||||
self.assertQuerysetEqual(
|
||||
Author.objects.order_by(StrIndex('name', Value('R.')).desc()), [
|
||||
'George. R. R. Martin',
|
||||
'J. R. R. Tolkien',
|
||||
'Terry Pratchett',
|
||||
Author.objects.order_by(StrIndex("name", Value("R.")).desc()),
|
||||
[
|
||||
"George. R. R. Martin",
|
||||
"J. R. R. Tolkien",
|
||||
"Terry Pratchett",
|
||||
],
|
||||
lambda a: a.name
|
||||
lambda a: a.name,
|
||||
)
|
||||
|
||||
def test_unicode_values(self):
|
||||
Author.objects.create(name='ツリー')
|
||||
Author.objects.create(name='皇帝')
|
||||
Author.objects.create(name='皇帝 ツリー')
|
||||
authors = Author.objects.annotate(sb=StrIndex('name', Value('リ')))
|
||||
self.assertQuerysetEqual(authors.order_by('name'), [2, 0, 5], lambda a: a.sb)
|
||||
Author.objects.create(name="ツリー")
|
||||
Author.objects.create(name="皇帝")
|
||||
Author.objects.create(name="皇帝 ツリー")
|
||||
authors = Author.objects.annotate(sb=StrIndex("name", Value("リ")))
|
||||
self.assertQuerysetEqual(authors.order_by("name"), [2, 0, 5], lambda a: a.sb)
|
||||
|
||||
def test_filtering(self):
|
||||
Author.objects.create(name='George. R. R. Martin')
|
||||
Author.objects.create(name='Terry Pratchett')
|
||||
Author.objects.create(name="George. R. R. Martin")
|
||||
Author.objects.create(name="Terry Pratchett")
|
||||
self.assertQuerysetEqual(
|
||||
Author.objects.annotate(middle_name=StrIndex('name', Value('R.'))).filter(middle_name__gt=0),
|
||||
['George. R. R. Martin'],
|
||||
lambda a: a.name
|
||||
Author.objects.annotate(middle_name=StrIndex("name", Value("R."))).filter(
|
||||
middle_name__gt=0
|
||||
),
|
||||
["George. R. R. Martin"],
|
||||
lambda a: a.name,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user