]> git.ozlabs.org Git - patchwork/commitdiff
templates: Don't rely on bool(Page)
authorJeremy Kerr <jk@ozlabs.org>
Sun, 17 Jun 2012 08:06:37 +0000 (16:06 +0800)
committerJeremy Kerr <jk@ozlabs.org>
Sun, 17 Jun 2012 08:10:12 +0000 (16:10 +0800)
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 <jk@ozlabs.org>
apps/patchwork/tests/__init__.py
apps/patchwork/tests/list.py [new file with mode: 0644]
apps/patchwork/tests/updates.py
templates/patchwork/patch-list.html

index 8ae271ae0871c51a16f16a1df46f5ad66e00ff50..d9ed3462131cea756f8384e6382b0c97db62ec5b 100644 (file)
@@ -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.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 (file)
index 0000000..1bdb506
--- /dev/null
@@ -0,0 +1,38 @@
+# Patchwork - automated patch tracking system
+# Copyright (C) 2012 Jeremy Kerr <jk@ozlabs.org>
+#
+# 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')
+
index ba1cb6d8a3f90c5a878d1db9431ae8d18f8b9b2f..177ee78ae3b243ac2d1f00737e3c2929be2ca27c 100644 (file)
@@ -52,7 +52,7 @@ class MultipleUpdateTest(TestCase):
         data.update({'archived': 'True'})
         self._selectAllPatches(data)
         response = self.client.post(self.url, data)
         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)
                             status_code = 200)
         for patch in [Patch.objects.get(pk = p.pk) for p in self.patches]:
             self.assertTrue(patch.archived)
index 770f0051ea83e50f9d6f2494bc7da31972d0ab11..723c4a0d9a4f18c9d2cb36a0e19da968aa6258ff 100644 (file)
   </tr>
  </thead>
 
   </tr>
  </thead>
 
-{% if page %}
+{% if page.paginator.count %}
  <tbody>
  {% for patch in page.object_list %}
   <tr id="patch_row:{{patch.id}}" class="{% cycle 'odd' 'even' %}">
  <tbody>
  {% for patch in page.object_list %}
   <tr id="patch_row:{{patch.id}}" class="{% cycle 'odd' 'even' %}">