Added patches for Django 1.7 (Closes: #755656). Thanks to Raphael Hertzog for the bug report and patches.

This commit is contained in:
Thomas Goirand
2014-09-07 07:38:57 +00:00
parent d715d8f3ca
commit 63a484a1b9
4 changed files with 162 additions and 0 deletions

7
debian/changelog vendored
View File

@@ -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 <zigo@debian.org> 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).

View File

@@ -0,0 +1,35 @@
From a910e8a2c0a8d99008c811eb65096fbaaa7bf9f6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rapha=C3=ABl=20Hertzog?= <hertzog@debian.org>
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

View File

@@ -0,0 +1,118 @@
From 6a04f63c3eadc164f75c6719b362949014f889da Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rapha=C3=ABl=20Hertzog?= <hertzog@debian.org>
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 @@
<div class="radio">
<label>
- <input name="radio_choice" type="radio" value="0" />
+ <input id="id_radio_choice_0" name="radio_choice" type="radio" value="0" />
Zero
</label>
</div>
<div class="radio">
<label>
- <input name="radio_choice" type="radio" value="1" />
+ <input id="id_radio_choice_1" name="radio_choice" type="radio" value="1" />
One
</label>
</div>
<div class="radio">
<label>
- <input name="radio_choice" type="radio" value="2" />
+ <input id="id_radio_choice_2" name="radio_choice" type="radio" value="2" />
Two
</label>
</div>
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 @@
<div class="radio">
<label>
- <input name="radio_choice" type="radio" value="0" />
+ <input id="id_radio_choice_0" name="radio_choice" type="radio" value="0" />
Zero
</label>
</div>
<div class="radio">
<label>
- <input name="radio_choice" type="radio" value="1" />
+ <input id="id_radio_choice_1" name="radio_choice" type="radio" value="1" />
One
</label>
</div>
<div class="radio">
<label>
- <input name="radio_choice" type="radio" value="2" />
+ <input id="id_radio_choice_2" name="radio_choice" type="radio" value="2" />
Two
</label>
</div>
--
2.1.0

2
debian/patches/series vendored Normal file
View File

@@ -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