From 63a484a1b9836b260ff3a39f1b9b1f97d2e086b6 Mon Sep 17 00:00:00 2001 From: Thomas Goirand Date: Sun, 7 Sep 2014 07:38:57 +0000 Subject: [PATCH] Added patches for Django 1.7 (Closes: #755656). Thanks to Raphael Hertzog for the bug report and patches. --- debian/changelog | 7 ++ ...o.setup-for-Django-1.7-compatibility.patch | 35 ++++++ ...r-Django-1.7-s-addition-of-an-id-att.patch | 118 ++++++++++++++++++ debian/patches/series | 2 + 4 files changed, 162 insertions(+) create mode 100644 debian/patches/0001-Add-django.setup-for-Django-1.7-compatibility.patch create mode 100644 debian/patches/0002-Fix-test-case-for-Django-1.7-s-addition-of-an-id-att.patch create mode 100644 debian/patches/series diff --git a/debian/changelog b/debian/changelog index f674772..5447341 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +python-django-bootstrap-form (3.1.0-4) unstable; urgency=medium + + * Added patches for Django 1.7 (Closes: #755656). Thanks to Raphael Hertzog + for the bug report and patches. + + -- Thomas Goirand Sun, 07 Sep 2014 07:37:50 +0000 + python-django-bootstrap-form (3.1.0-3) unstable; urgency=medium * Do not package the test folder (Closes: #733729). diff --git a/debian/patches/0001-Add-django.setup-for-Django-1.7-compatibility.patch b/debian/patches/0001-Add-django.setup-for-Django-1.7-compatibility.patch new file mode 100644 index 0000000..85507da --- /dev/null +++ b/debian/patches/0001-Add-django.setup-for-Django-1.7-compatibility.patch @@ -0,0 +1,35 @@ +From a910e8a2c0a8d99008c811eb65096fbaaa7bf9f6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Rapha=C3=ABl=20Hertzog?= +Date: Fri, 5 Sep 2014 10:05:22 +0200 +Subject: [PATCH 1/2] Add django.setup() for Django 1.7 compatibility + +--- + tests/__init__.py | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/tests/__init__.py b/tests/__init__.py +index aadc141..4533d82 100644 +--- a/tests/__init__.py ++++ b/tests/__init__.py +@@ -13,13 +13,16 @@ from django.template import Template, Context + from django.core.management import call_command + from django import forms + ++import django ++if hasattr(django, 'setup'): ++ django.setup() + + TEST_DIR = os.path.abspath(os.path.join(__file__, '..')) + + + CHOICES = ( +- (0, 'Zero'), +- (1, 'One'), ++ (0, 'Zero'), ++ (1, 'One'), + (2, 'Two'), + ) + +-- +2.1.0 + diff --git a/debian/patches/0002-Fix-test-case-for-Django-1.7-s-addition-of-an-id-att.patch b/debian/patches/0002-Fix-test-case-for-Django-1.7-s-addition-of-an-id-att.patch new file mode 100644 index 0000000..eab417a --- /dev/null +++ b/debian/patches/0002-Fix-test-case-for-Django-1.7-s-addition-of-an-id-att.patch @@ -0,0 +1,118 @@ +From 6a04f63c3eadc164f75c6719b362949014f889da Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Rapha=C3=ABl=20Hertzog?= +Date: Fri, 5 Sep 2014 11:20:08 +0200 +Subject: [PATCH 2/2] Fix test case for Django 1.7's addition of an id + attribute to radio widgets + +As documented on +https://docs.djangoproject.com/en/1.7/ref/forms/widgets/#radioselect +Django 1.7 now adds id attribute to the radio fields. The test case +must be adapted to cope with this. +--- + tests/__init__.py | 12 ++++++++++++ + tests/fixtures/basic.html | 6 +++--- + tests/fixtures/horizontal.html | 6 +++--- + 3 files changed, 18 insertions(+), 6 deletions(-) + +diff --git a/tests/__init__.py b/tests/__init__.py +index 4533d82..979c2a4 100644 +--- a/tests/__init__.py ++++ b/tests/__init__.py +@@ -1,5 +1,6 @@ + import os + import sys ++import re + + os.environ['DJANGO_SETTINGS_MODULE'] = 'tests.test_settings' + +@@ -41,6 +42,13 @@ class ExampleForm(forms.Form): + class BootstrapTemplateTagTests(TestCase): + def setUp(self): + call_command('syncdb', interactive=False) ++ self.maxDiff = None ++ ++ @classmethod ++ def drop_radio_id_with_old_django(cls, content): ++ if django.VERSION < (1, 7): ++ return re.sub(r' id="id_radio_choice_\d"', '', content) ++ return content + + def test_basic_form(self): + form = ExampleForm() +@@ -51,6 +59,8 @@ class BootstrapTemplateTagTests(TestCase): + with open(os.path.join(TEST_DIR, tpl)) as f: + content = f.read() + ++ content = self.drop_radio_id_with_old_django(content) ++ + self.assertHTMLEqual(html, content) + + def test_horizontal_form(self): +@@ -62,4 +72,6 @@ class BootstrapTemplateTagTests(TestCase): + with open(os.path.join(TEST_DIR, tpl)) as f: + content = f.read() + ++ content = self.drop_radio_id_with_old_django(content) ++ + self.assertHTMLEqual(html, content) +diff --git a/tests/fixtures/basic.html b/tests/fixtures/basic.html +index 322806e..636dfe7 100644 +--- a/tests/fixtures/basic.html ++++ b/tests/fixtures/basic.html +@@ -56,21 +56,21 @@ + +
+ +
+ +
+ +
+ +
+ +
+diff --git a/tests/fixtures/horizontal.html b/tests/fixtures/horizontal.html +index b255d51..e49ee15 100644 +--- a/tests/fixtures/horizontal.html ++++ b/tests/fixtures/horizontal.html +@@ -56,21 +56,21 @@ + +
+ +
+ +
+ +
+ +
+ +
+-- +2.1.0 + diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..e0df862 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,2 @@ +0001-Add-django.setup-for-Django-1.7-compatibility.patch +0002-Fix-test-case-for-Django-1.7-s-addition-of-an-id-att.patch