From 093eea9f796df7e728f02169cdb14b1dca2ae62e Mon Sep 17 00:00:00 2001
From: Julian Andrews
Date: Mon, 5 Oct 2015 09:09:42 -0600
Subject: [PATCH] Rework tests for django <1.8 instead of skipping
---
betterforms/tests.py | 103 ++++++++++++++++++++++++++-----------------
1 file changed, 62 insertions(+), 41 deletions(-)
diff --git a/betterforms/tests.py b/betterforms/tests.py
index c3ec3f5..a1f193d 100644
--- a/betterforms/tests.py
+++ b/betterforms/tests.py
@@ -333,7 +333,6 @@ class Meta:
)
self.TestForm = TestForm
- @unittest.skipIf(django.VERSION < (1, 8), 'HTML output is slightly different in 1.8')
def test_non_fieldset_form_rendering(self):
class TestForm(BetterForm):
# Set the label_suffix to an empty string for consistent results
@@ -351,9 +350,7 @@ class TestForm(BetterForm):
'fieldset_template_name': 'betterforms/fieldset_as_div.html',
'field_template_name': 'betterforms/field_as_div.html',
}
- self.assertHTMLEqual(
- render_to_string('betterforms/form_as_fieldsets.html', env),
- """
+ test = """
@@ -366,12 +363,15 @@ class TestForm(BetterForm):
- """,
- )
- form.field_error('a', 'this is an error message')
+ """
+ if django.VERSION < (1, 8):
+ test = test.replace('label class="required"', 'label')
self.assertHTMLEqual(
render_to_string('betterforms/form_as_fieldsets.html', env),
- """
+ test,
+ )
+ form.field_error('a', 'this is an error message')
+ test = """
@@ -385,10 +385,14 @@ class TestForm(BetterForm):
- """,
+ """
+ if django.VERSION < (1, 8):
+ test = test.replace('label class="required"', 'label')
+ self.assertHTMLEqual(
+ render_to_string('betterforms/form_as_fieldsets.html', env),
+ test,
)
- @unittest.skipIf(django.VERSION < (1, 8), 'HTML output is slightly different in 1.8')
def test_include_tag_rendering(self):
form = self.TestForm()
env = {
@@ -397,9 +401,7 @@ def test_include_tag_rendering(self):
'fieldset_template_name': 'betterforms/fieldset_as_div.html',
'field_template_name': 'betterforms/field_as_div.html',
}
- self.assertHTMLEqual(
- render_to_string('betterforms/form_as_fieldsets.html', env),
- """
+ test = """
- """,
- )
- form.field_error('a', 'this is an error message')
+ """
+ if django.VERSION < (1, 8):
+ test = test.replace('label class="required"', 'label')
self.assertHTMLEqual(
render_to_string('betterforms/form_as_fieldsets.html', env),
- """
+ test,
+ )
+ form.field_error('a', 'this is an error message')
+ test = """
- """,
+ """
+ if django.VERSION < (1, 8):
+ test = test.replace('label class="required"', 'label')
+ self.assertHTMLEqual(
+ render_to_string('betterforms/form_as_fieldsets.html', env),
+ test,
)
- @unittest.skipIf(django.VERSION < (1, 8), 'HTML output is slightly different in 1.8')
def test_fields_django_form_required(self):
class TestForm(forms.Form):
a = forms.CharField(label='A:')
@@ -456,9 +465,7 @@ class TestForm(forms.Form):
'fieldset_template_name': 'betterforms/fieldset_as_div.html',
'field_template_name': 'betterforms/field_as_div.html',
}
- self.assertHTMLEqual(
- render_to_string('betterforms/form_as_fieldsets.html', env),
- """
+ test = """
@@ -467,7 +474,12 @@ class TestForm(forms.Form):
- """,
+ """
+ if django.VERSION < (1, 8):
+ test = test.replace('label class="required"', 'label')
+ self.assertHTMLEqual(
+ render_to_string('betterforms/form_as_fieldsets.html', env),
+ test,
)
@unittest.expectedFailure
@@ -485,12 +497,9 @@ def test_form_as_ul(self):
form = self.TestForm()
form.as_ul()
- @unittest.skipIf(django.VERSION < (1, 8), 'HTML output is slightly different in 1.8')
def test_form_as_p(self):
form = self.TestForm()
- self.assertHTMLEqual(
- form.as_p(),
- """
+ test = """
- """,
+ """
+ if django.VERSION < (1, 8):
+ test = test.replace('label class="required"', 'label')
+ self.assertHTMLEqual(
+ form.as_p(),
+ test,
)
form.field_error('a', 'this is an error')
- self.assertHTMLEqual(
- form.as_p(),
- """
+ test = """
- """,
+ """
+ if django.VERSION < (1, 8):
+ test = test.replace('label class="required"', 'label')
+ self.assertHTMLEqual(
+ form.as_p(),
+ test,
)
- @unittest.skipIf(django.VERSION < (1, 8), 'HTML output is slightly different in 1.8')
def test_fieldset_legend(self):
class TestForm(BetterForm):
a = forms.CharField()
@@ -550,9 +566,7 @@ class Meta:
)
form = TestForm()
- self.assertHTMLEqual(
- form.as_p(),
- """
+ test = """
- """,
+ """
+ if django.VERSION < (1, 8):
+ test = test.replace('label class="required"', 'label')
+ self.assertHTMLEqual(
+ form.as_p(),
+ test,
)
- @unittest.skipIf(django.VERSION < (1, 8), 'HTML output is slightly different in 1.8')
def test_css_classes_when_form_has_prefix(self):
class TestForm(BetterForm):
name = forms.CharField()
@@ -582,14 +600,17 @@ class TestForm(BetterForm):
form = TestForm(prefix="prefix")
env = {'form': form, 'no_head': True}
- self.assertHTMLEqual(
- render_to_string('betterforms/form_as_fieldsets.html', env),
- """
+ test = """
"""
+ if django.VERSION < (1, 8):
+ test = test.replace('label class="required"', 'label')
+ self.assertHTMLEqual(
+ render_to_string('betterforms/form_as_fieldsets.html', env),
+ test,
)