From: Jeremy Kerr Date: Sun, 17 Jun 2012 08:06:37 +0000 (+0800) Subject: templates: Don't rely on bool(Page) X-Git-Url: http://git.ozlabs.org/?a=commitdiff_plain;h=7a79c1a2e4b2ceaf2668fa671f2db98c0de7b724;p=patchwork templates: Don't rely on bool(Page) The behaviour of bool(Page) changed in django 1.4 - it no longer evaluates to False when page has no objects. When checking for an empty patch list, use page.paginator.count. Signed-off-by: Jeremy Kerr --- diff --git a/apps/patchwork/tests/__init__.py b/apps/patchwork/tests/__init__.py index 8ae271a..d9ed346 100644 --- a/apps/patchwork/tests/__init__.py +++ b/apps/patchwork/tests/__init__.py @@ -28,3 +28,4 @@ from patchwork.tests.registration import * from patchwork.tests.user import * from patchwork.tests.mail_settings import * from patchwork.tests.notifications import * +from patchwork.tests.list import * diff --git a/apps/patchwork/tests/list.py b/apps/patchwork/tests/list.py new file mode 100644 index 0000000..1bdb506 --- /dev/null +++ b/apps/patchwork/tests/list.py @@ -0,0 +1,38 @@ +# Patchwork - automated patch tracking system +# Copyright (C) 2012 Jeremy Kerr +# +# This file is part of the Patchwork package. +# +# Patchwork is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# Patchwork is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Patchwork; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +import unittest +from django.test import TestCase +from django.test.client import Client +from patchwork.tests.utils import defaults, create_user, find_in_context +from django.core.urlresolvers import reverse + +class EmptyPatchListTest(TestCase): + + def testEmptyPatchList(self): + """test that we don't output an empty table when there are no + patches present""" + project = defaults.project + defaults.project.save() + url = reverse('patchwork.views.patch.list', + kwargs={'project_id': project.linkname}) + response = self.client.get(url) + self.assertContains(response, 'No patches to display') + self.assertNotContains(response, 'tbody') + diff --git a/apps/patchwork/tests/updates.py b/apps/patchwork/tests/updates.py index ba1cb6d..177ee78 100644 --- a/apps/patchwork/tests/updates.py +++ b/apps/patchwork/tests/updates.py @@ -52,7 +52,7 @@ class MultipleUpdateTest(TestCase): data.update({'archived': 'True'}) self._selectAllPatches(data) response = self.client.post(self.url, data) - self.assertContains(response, self.properties_form_id, + self.assertContains(response, 'No patches to display', status_code = 200) for patch in [Patch.objects.get(pk = p.pk) for p in self.patches]: self.assertTrue(patch.archived) diff --git a/templates/patchwork/patch-list.html b/templates/patchwork/patch-list.html index 770f005..723c4a0 100644 --- a/templates/patchwork/patch-list.html +++ b/templates/patchwork/patch-list.html @@ -134,7 +134,7 @@ -{% if page %} +{% if page.paginator.count %} {% for patch in page.object_list %}