Skip to content
This repository was archived by the owner on Jun 27, 2023. It is now read-only.

Commit 0e81c43

Browse files
author
Thiago C. D'Ávila
authored
Merge pull request #105 from staticdev/pagination-tag-tests
Add test_pagination_tags
2 parents 7d6832c + 4cfe312 commit 0e81c43

File tree

2 files changed

+60
-4
lines changed

2 files changed

+60
-4
lines changed

src/django_pagination_bootstrap/templatetags/pagination_tags.py

+1-4
Original file line numberDiff line numberDiff line change
@@ -263,8 +263,5 @@ def paginate(context, window=DEFAULT_WINDOW, hashtag=""):
263263
return {}
264264

265265

266-
# registers the tags paginate and paginate_bs2 the same function paginate
266+
# registers the tag paginate
267267
register.inclusion_tag("pagination.html", takes_context=True, name="paginate")(paginate)
268-
register.inclusion_tag("paginate_bs2.html", takes_context=True, name="paginate_bs2")(
269-
paginate
270-
)

tests/test_pagination_tags.py

+59
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
from django.http import HttpRequest
2+
from django.template import Context
3+
from django.template import Template
4+
from django.test import TestCase
5+
6+
7+
class TestHttpRequest(HttpRequest):
8+
"""Test helper class."""
9+
10+
__test__ = False
11+
page = 1
12+
13+
14+
class TestTemplatePaginateTags(TestCase):
15+
def test_render_range_by_two(self):
16+
t = Template("{% load pagination_tags %}{% autopaginate var 2 %}{% paginate %}")
17+
c = Context({"var": range(21), "request": TestHttpRequest()})
18+
self.assertEqual(
19+
t.render(c),
20+
'\n\n\n<nav aria-label="Page pagination">\n <ul class="pagination">\n \n <li class="page-item disabled"><a class="page-link" href="#" onclick="javascript: return false;">&laquo;</a></li>\n \n \n \n \n <li class="page-item active"><a class="page-link" href="#" onclick="javascript: return false;">1</a></li>\n \n \n \n \n \n <li class="page-item"><a class="page-link" href="?page=2">2</a></li>\n \n \n \n \n \n <li class="page-item"><a class="page-link" href="?page=3">3</a></li>\n \n \n \n \n \n <li class="page-item"><a class="page-link" href="?page=4">4</a></li>\n \n \n \n \n <li class="page-item disabled"><a class="page-link" href="#" onclick="javascript: return false;">...</a></li>\n \n \n \n \n <li class="page-item"><a class="page-link" href="?page=8">8</a></li>\n \n \n \n \n \n <li class="page-item"><a class="page-link" href="?page=9">9</a></li>\n \n \n \n \n \n <li class="page-item"><a class="page-link" href="?page=10">10</a></li>\n \n \n \n \n \n <li class="page-item"><a class="page-link" href="?page=11">11</a></li>\n \n \n \n \n <li class="page-item"><a class="page-link" href="?page=2">&raquo;</a></li>\n \n </ul>\n \n</nav>\n',
21+
)
22+
23+
def test_render_range_by_one(self):
24+
t = Template("{% load pagination_tags %}{% autopaginate var %}{% paginate %}")
25+
c = Context({"var": range(21), "request": TestHttpRequest()})
26+
self.assertEqual(
27+
t.render(c),
28+
'\n\n\n<nav aria-label="Page pagination">\n <ul class="pagination">\n \n <li class="page-item disabled"><a class="page-link" href="#" onclick="javascript: return false;">&laquo;</a></li>\n \n \n \n \n <li class="page-item active"><a class="page-link" href="#" onclick="javascript: return false;">1</a></li>\n \n \n \n \n \n <li class="page-item"><a class="page-link" href="?page=2">2</a></li>\n \n \n \n \n <li class="page-item"><a class="page-link" href="?page=2">&raquo;</a></li>\n \n </ul>\n \n</nav>\n',
29+
)
30+
31+
def test_render_range_by_twenty(self):
32+
t = Template(
33+
"{% load pagination_tags %}{% autopaginate var 20 %}{% paginate %}"
34+
)
35+
c = Context({"var": range(21), "request": TestHttpRequest()})
36+
self.assertEqual(
37+
t.render(c),
38+
'\n\n\n<nav aria-label="Page pagination">\n <ul class="pagination">\n \n <li class="page-item disabled"><a class="page-link" href="#" onclick="javascript: return false;">&laquo;</a></li>\n \n \n \n \n <li class="page-item active"><a class="page-link" href="#" onclick="javascript: return false;">1</a></li>\n \n \n \n \n \n <li class="page-item"><a class="page-link" href="?page=2">2</a></li>\n \n \n \n \n <li class="page-item"><a class="page-link" href="?page=2">&raquo;</a></li>\n \n </ul>\n \n</nav>\n',
39+
)
40+
41+
def test_render_range_by_var(self):
42+
t = Template(
43+
"{% load pagination_tags %}{% autopaginate var by %}{% paginate %}"
44+
)
45+
c = Context({"var": range(21), "by": 20, "request": TestHttpRequest()})
46+
self.assertEqual(
47+
t.render(c),
48+
'\n\n\n<nav aria-label="Page pagination">\n <ul class="pagination">\n \n <li class="page-item disabled"><a class="page-link" href="#" onclick="javascript: return false;">&laquo;</a></li>\n \n \n \n \n <li class="page-item active"><a class="page-link" href="#" onclick="javascript: return false;">1</a></li>\n \n \n \n \n \n <li class="page-item"><a class="page-link" href="?page=2">2</a></li>\n \n \n \n \n <li class="page-item"><a class="page-link" href="?page=2">&raquo;</a></li>\n \n </ul>\n \n</nav>\n',
49+
)
50+
51+
def test_render_range_by_var_as_name(self):
52+
t = Template(
53+
"{% load pagination_tags %}{% autopaginate var by as foo %}{{ foo }}"
54+
)
55+
c = Context({"var": list(range(21)), "by": 20, "request": TestHttpRequest()})
56+
self.assertEqual(
57+
t.render(c),
58+
"[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]",
59+
)

0 commit comments

Comments
 (0)