mirror of
https://github.com/django/django.git
synced 2025-08-10 05:48:15 +00:00
Refs #33476 -- Reformatted code with Black.
This commit is contained in:
parent
f68fa8b45d
commit
9c19aff7c7
1992 changed files with 139577 additions and 96284 deletions
|
@ -6,50 +6,78 @@ from ..models import Author
|
|||
|
||||
|
||||
class ReplaceTests(TestCase):
|
||||
|
||||
@classmethod
|
||||
def setUpTestData(cls):
|
||||
Author.objects.create(name='George R. R. Martin')
|
||||
Author.objects.create(name='J. R. R. Tolkien')
|
||||
Author.objects.create(name="George R. R. Martin")
|
||||
Author.objects.create(name="J. R. R. Tolkien")
|
||||
|
||||
def test_replace_with_empty_string(self):
|
||||
qs = Author.objects.annotate(
|
||||
without_middlename=Replace(F('name'), Value('R. R. '), Value('')),
|
||||
without_middlename=Replace(F("name"), Value("R. R. "), Value("")),
|
||||
)
|
||||
self.assertQuerysetEqual(
|
||||
qs,
|
||||
[
|
||||
("George R. R. Martin", "George Martin"),
|
||||
("J. R. R. Tolkien", "J. Tolkien"),
|
||||
],
|
||||
transform=lambda x: (x.name, x.without_middlename),
|
||||
ordered=False,
|
||||
)
|
||||
self.assertQuerysetEqual(qs, [
|
||||
('George R. R. Martin', 'George Martin'),
|
||||
('J. R. R. Tolkien', 'J. Tolkien'),
|
||||
], transform=lambda x: (x.name, x.without_middlename), ordered=False)
|
||||
|
||||
def test_case_sensitive(self):
|
||||
qs = Author.objects.annotate(same_name=Replace(F('name'), Value('r. r.'), Value('')))
|
||||
self.assertQuerysetEqual(qs, [
|
||||
('George R. R. Martin', 'George R. R. Martin'),
|
||||
('J. R. R. Tolkien', 'J. R. R. Tolkien'),
|
||||
], transform=lambda x: (x.name, x.same_name), ordered=False)
|
||||
qs = Author.objects.annotate(
|
||||
same_name=Replace(F("name"), Value("r. r."), Value(""))
|
||||
)
|
||||
self.assertQuerysetEqual(
|
||||
qs,
|
||||
[
|
||||
("George R. R. Martin", "George R. R. Martin"),
|
||||
("J. R. R. Tolkien", "J. R. R. Tolkien"),
|
||||
],
|
||||
transform=lambda x: (x.name, x.same_name),
|
||||
ordered=False,
|
||||
)
|
||||
|
||||
def test_replace_expression(self):
|
||||
qs = Author.objects.annotate(same_name=Replace(
|
||||
Concat(Value('Author: '), F('name')), Value('Author: '), Value('')),
|
||||
qs = Author.objects.annotate(
|
||||
same_name=Replace(
|
||||
Concat(Value("Author: "), F("name")), Value("Author: "), Value("")
|
||||
),
|
||||
)
|
||||
self.assertQuerysetEqual(
|
||||
qs,
|
||||
[
|
||||
("George R. R. Martin", "George R. R. Martin"),
|
||||
("J. R. R. Tolkien", "J. R. R. Tolkien"),
|
||||
],
|
||||
transform=lambda x: (x.name, x.same_name),
|
||||
ordered=False,
|
||||
)
|
||||
self.assertQuerysetEqual(qs, [
|
||||
('George R. R. Martin', 'George R. R. Martin'),
|
||||
('J. R. R. Tolkien', 'J. R. R. Tolkien'),
|
||||
], transform=lambda x: (x.name, x.same_name), ordered=False)
|
||||
|
||||
def test_update(self):
|
||||
Author.objects.update(
|
||||
name=Replace(F('name'), Value('R. R. '), Value('')),
|
||||
name=Replace(F("name"), Value("R. R. "), Value("")),
|
||||
)
|
||||
self.assertQuerysetEqual(
|
||||
Author.objects.all(),
|
||||
[
|
||||
("George Martin"),
|
||||
("J. Tolkien"),
|
||||
],
|
||||
transform=lambda x: x.name,
|
||||
ordered=False,
|
||||
)
|
||||
self.assertQuerysetEqual(Author.objects.all(), [
|
||||
('George Martin'),
|
||||
('J. Tolkien'),
|
||||
], transform=lambda x: x.name, ordered=False)
|
||||
|
||||
def test_replace_with_default_arg(self):
|
||||
# The default replacement is an empty string.
|
||||
qs = Author.objects.annotate(same_name=Replace(F('name'), Value('R. R. ')))
|
||||
self.assertQuerysetEqual(qs, [
|
||||
('George R. R. Martin', 'George Martin'),
|
||||
('J. R. R. Tolkien', 'J. Tolkien'),
|
||||
], transform=lambda x: (x.name, x.same_name), ordered=False)
|
||||
qs = Author.objects.annotate(same_name=Replace(F("name"), Value("R. R. ")))
|
||||
self.assertQuerysetEqual(
|
||||
qs,
|
||||
[
|
||||
("George R. R. Martin", "George Martin"),
|
||||
("J. R. R. Tolkien", "J. Tolkien"),
|
||||
],
|
||||
transform=lambda x: (x.name, x.same_name),
|
||||
ordered=False,
|
||||
)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue