summaryrefslogtreecommitdiff
path: root/tests/template_tests/syntax_tests/test_regroup.py
diff options
context:
space:
mode:
authordjango-bot <ops@djangoproject.com>2022-02-08 12:09:55 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2022-02-08 12:15:38 +0100
commit6a682b38e75d4c975b4c4493565a59f1bc14397c (patch)
tree0bd9cda550bea26238656d9f120d769e8b41bb9e /tests/template_tests/syntax_tests/test_regroup.py
parente73ce08888e6f34d3f050377cfd2fbb733be94a9 (diff)
[4.0.x] Refs #33476 -- Reformatted code with Black.
Backport of 9c19aff7c7561e3a82978a272ecdaad40dda5c00 from main.
Diffstat (limited to 'tests/template_tests/syntax_tests/test_regroup.py')
-rw-r--r--tests/template_tests/syntax_tests/test_regroup.py197
1 files changed, 117 insertions, 80 deletions
diff --git a/tests/template_tests/syntax_tests/test_regroup.py b/tests/template_tests/syntax_tests/test_regroup.py
index 2c0135587e..eca5e0d5f9 100644
--- a/tests/template_tests/syntax_tests/test_regroup.py
+++ b/tests/template_tests/syntax_tests/test_regroup.py
@@ -7,115 +7,152 @@ from ..utils import setup
class RegroupTagTests(SimpleTestCase):
-
- @setup({'regroup01': ''
- '{% regroup data by bar as grouped %}'
- '{% for group in grouped %}'
- '{{ group.grouper }}:'
- '{% for item in group.list %}'
- '{{ item.foo }}'
- '{% endfor %},'
- '{% endfor %}'})
+ @setup(
+ {
+ "regroup01": ""
+ "{% regroup data by bar as grouped %}"
+ "{% for group in grouped %}"
+ "{{ group.grouper }}:"
+ "{% for item in group.list %}"
+ "{{ item.foo }}"
+ "{% endfor %},"
+ "{% endfor %}"
+ }
+ )
def test_regroup01(self):
- output = self.engine.render_to_string('regroup01', {
- 'data': [{'foo': 'c', 'bar': 1},
- {'foo': 'd', 'bar': 1},
- {'foo': 'a', 'bar': 2},
- {'foo': 'b', 'bar': 2},
- {'foo': 'x', 'bar': 3}],
- })
- self.assertEqual(output, '1:cd,2:ab,3:x,')
+ output = self.engine.render_to_string(
+ "regroup01",
+ {
+ "data": [
+ {"foo": "c", "bar": 1},
+ {"foo": "d", "bar": 1},
+ {"foo": "a", "bar": 2},
+ {"foo": "b", "bar": 2},
+ {"foo": "x", "bar": 3},
+ ],
+ },
+ )
+ self.assertEqual(output, "1:cd,2:ab,3:x,")
- @setup({'regroup02': ''
- '{% regroup data by bar as grouped %}'
- '{% for group in grouped %}'
- '{{ group.grouper }}:'
- '{% for item in group.list %}'
- '{{ item.foo }}'
- '{% endfor %}'
- '{% endfor %}'})
+ @setup(
+ {
+ "regroup02": ""
+ "{% regroup data by bar as grouped %}"
+ "{% for group in grouped %}"
+ "{{ group.grouper }}:"
+ "{% for item in group.list %}"
+ "{{ item.foo }}"
+ "{% endfor %}"
+ "{% endfor %}"
+ }
+ )
def test_regroup02(self):
"""
Test for silent failure when target variable isn't found
"""
- output = self.engine.render_to_string('regroup02', {})
- self.assertEqual(output, '')
+ output = self.engine.render_to_string("regroup02", {})
+ self.assertEqual(output, "")
- @setup({'regroup03': ''
- '{% regroup data by at|date:"m" as grouped %}'
- '{% for group in grouped %}'
- '{{ group.grouper }}:'
- '{% for item in group.list %}'
- '{{ item.at|date:"d" }}'
- '{% endfor %},'
- '{% endfor %}'})
+ @setup(
+ {
+ "regroup03": ""
+ '{% regroup data by at|date:"m" as grouped %}'
+ "{% for group in grouped %}"
+ "{{ group.grouper }}:"
+ "{% for item in group.list %}"
+ '{{ item.at|date:"d" }}'
+ "{% endfor %},"
+ "{% endfor %}"
+ }
+ )
def test_regroup03(self):
"""
Regression tests for #17675
The date template filter has expects_localtime = True
"""
- output = self.engine.render_to_string('regroup03', {
- 'data': [{'at': date(2012, 2, 14)},
- {'at': date(2012, 2, 28)},
- {'at': date(2012, 7, 4)}],
- })
- self.assertEqual(output, '02:1428,07:04,')
+ output = self.engine.render_to_string(
+ "regroup03",
+ {
+ "data": [
+ {"at": date(2012, 2, 14)},
+ {"at": date(2012, 2, 28)},
+ {"at": date(2012, 7, 4)},
+ ],
+ },
+ )
+ self.assertEqual(output, "02:1428,07:04,")
- @setup({'regroup04': ''
- '{% regroup data by bar|join:"" as grouped %}'
- '{% for group in grouped %}'
- '{{ group.grouper }}:'
- '{% for item in group.list %}'
- '{{ item.foo|first }}'
- '{% endfor %},'
- '{% endfor %}'})
+ @setup(
+ {
+ "regroup04": ""
+ '{% regroup data by bar|join:"" as grouped %}'
+ "{% for group in grouped %}"
+ "{{ group.grouper }}:"
+ "{% for item in group.list %}"
+ "{{ item.foo|first }}"
+ "{% endfor %},"
+ "{% endfor %}"
+ }
+ )
def test_regroup04(self):
"""
The join template filter has needs_autoescape = True
"""
- output = self.engine.render_to_string('regroup04', {
- 'data': [{'foo': 'x', 'bar': ['ab', 'c']},
- {'foo': 'y', 'bar': ['a', 'bc']},
- {'foo': 'z', 'bar': ['a', 'd']}],
- })
- self.assertEqual(output, 'abc:xy,ad:z,')
+ output = self.engine.render_to_string(
+ "regroup04",
+ {
+ "data": [
+ {"foo": "x", "bar": ["ab", "c"]},
+ {"foo": "y", "bar": ["a", "bc"]},
+ {"foo": "z", "bar": ["a", "d"]},
+ ],
+ },
+ )
+ self.assertEqual(output, "abc:xy,ad:z,")
# Test syntax errors
- @setup({'regroup05': '{% regroup data by bar as %}'})
+ @setup({"regroup05": "{% regroup data by bar as %}"})
def test_regroup05(self):
with self.assertRaises(TemplateSyntaxError):
- self.engine.get_template('regroup05')
+ self.engine.get_template("regroup05")
- @setup({'regroup06': '{% regroup data by bar thisaintright grouped %}'})
+ @setup({"regroup06": "{% regroup data by bar thisaintright grouped %}"})
def test_regroup06(self):
with self.assertRaises(TemplateSyntaxError):
- self.engine.get_template('regroup06')
+ self.engine.get_template("regroup06")
- @setup({'regroup07': '{% regroup data thisaintright bar as grouped %}'})
+ @setup({"regroup07": "{% regroup data thisaintright bar as grouped %}"})
def test_regroup07(self):
with self.assertRaises(TemplateSyntaxError):
- self.engine.get_template('regroup07')
+ self.engine.get_template("regroup07")
- @setup({'regroup08': '{% regroup data by bar as grouped toomanyargs %}'})
+ @setup({"regroup08": "{% regroup data by bar as grouped toomanyargs %}"})
def test_regroup08(self):
with self.assertRaises(TemplateSyntaxError):
- self.engine.get_template('regroup08')
+ self.engine.get_template("regroup08")
- @setup({'regroup_unpack': '{% regroup data by bar as grouped %}'
- '{% for grouper, group in grouped %}'
- '{{ grouper }}:'
- '{% for item in group %}'
- '{{ item.foo }}'
- '{% endfor %},'
- '{% endfor %}'})
+ @setup(
+ {
+ "regroup_unpack": "{% regroup data by bar as grouped %}"
+ "{% for grouper, group in grouped %}"
+ "{{ grouper }}:"
+ "{% for item in group %}"
+ "{{ item.foo }}"
+ "{% endfor %},"
+ "{% endfor %}"
+ }
+ )
def test_regroup_unpack(self):
- output = self.engine.render_to_string('regroup_unpack', {
- 'data': [
- {'foo': 'c', 'bar': 1},
- {'foo': 'd', 'bar': 1},
- {'foo': 'a', 'bar': 2},
- {'foo': 'b', 'bar': 2},
- {'foo': 'x', 'bar': 3},
- ],
- })
- self.assertEqual(output, '1:cd,2:ab,3:x,')
+ output = self.engine.render_to_string(
+ "regroup_unpack",
+ {
+ "data": [
+ {"foo": "c", "bar": 1},
+ {"foo": "d", "bar": 1},
+ {"foo": "a", "bar": 2},
+ {"foo": "b", "bar": 2},
+ {"foo": "x", "bar": 3},
+ ],
+ },
+ )
+ self.assertEqual(output, "1:cd,2:ab,3:x,")