diff --git a/.gitignore b/.gitignore index a2dd780..10730ca 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,6 @@ docs/_build /build /dist +.cache +.tox +.python-version diff --git a/.travis.yml b/.travis.yml index 0e1b56a..98bec53 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,15 +1,26 @@ language: python +env: + matrix: + - TOX_ENV=py27-dj15 + - TOX_ENV=py27-dj16 + - TOX_ENV=py27-dj17 + - TOX_ENV=py27-dj18 + - TOX_ENV=py34-dj15 + - TOX_ENV=py34-dj16 + - TOX_ENV=py34-dj17 + - TOX_ENV=py34-dj18 + python: - "2.7" - "3.4" - - "3.5" install: - - pip install coverage coveralls + - pip install tox coverage coveralls script: - - coverage run --source=bootstrapform setup.py test + #- coverage run --source=bootstrapform setup.py test + - tox -e $TOX_ENV after_success: - coveralls diff --git a/bootstrapform/fixtures/basic_dj16.html b/bootstrapform/fixtures/basic_dj16.html new file mode 100644 index 0000000..a2c238e --- /dev/null +++ b/bootstrapform/fixtures/basic_dj16.html @@ -0,0 +1,99 @@ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+ +
+ +
+ +
+
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ + +
+ +
+
+ +
+ + +
+ +
+
+ +
+ +
+ +
+
+ +
+
+
+ +
+
+
diff --git a/bootstrapform/fixtures/basic_old.html b/bootstrapform/fixtures/basic_old.html new file mode 100644 index 0000000..6ef1d14 --- /dev/null +++ b/bootstrapform/fixtures/basic_old.html @@ -0,0 +1,99 @@ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+ +
+ +
+ +
+
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ + +
+ +
+
+ +
+ + +
+ +
+
+ +
+ +
+ +
+
+ +
+
+
+ +
+
+
diff --git a/bootstrapform/fixtures/horizontal_dj16.html b/bootstrapform/fixtures/horizontal_dj16.html new file mode 100644 index 0000000..506d25a --- /dev/null +++ b/bootstrapform/fixtures/horizontal_dj16.html @@ -0,0 +1,102 @@ +
+ + +
+ +
+
+ +
+ + +
+ +
+
+ +
+ + +
+
+ +
+
+ +
+
+ +
+
+
+ +
+ + +
+ +
+
+ +
+ +
+ +
+
+ +
+ + +
+ +
+
+ +
+ + +
+ +
+
+ +
+ + +
+ +
+
+ +
+
+
+ +
+
+
diff --git a/bootstrapform/fixtures/horizontal_old.html b/bootstrapform/fixtures/horizontal_old.html new file mode 100644 index 0000000..fcc1fcd --- /dev/null +++ b/bootstrapform/fixtures/horizontal_old.html @@ -0,0 +1,102 @@ +
+ + +
+ +
+
+ +
+ + +
+ +
+
+ +
+ + +
+
+ +
+
+ +
+
+ +
+
+
+ +
+ + +
+ +
+
+ +
+ +
+ +
+
+ +
+ + +
+ +
+
+ +
+ + +
+ +
+
+ +
+ + +
+ +
+
+ +
+
+
+ +
+
+
diff --git a/bootstrapform/tests.py b/bootstrapform/tests.py index dd9747e..74d8b15 100644 --- a/bootstrapform/tests.py +++ b/bootstrapform/tests.py @@ -1,9 +1,9 @@ import os +from distutils.version import StrictVersion import django from django.test import TestCase from django.template import Template, Context -from django.core.management import call_command from django import forms @@ -37,15 +37,20 @@ class ExampleForm(forms.Form): class BootstrapTemplateTagTests(TestCase): maxDiff = None - def setUp(self): - call_command('migrate', interactive=False) - def test_basic_form(self): form = ExampleForm() html = Template("{% load bootstrap %}{{ form|bootstrap }}").render(Context({'form': form})) - tpl = os.path.join('fixtures', 'basic.html') + + if StrictVersion(django.get_version()) >= StrictVersion('1.7'): + fixture = 'basic.html' + elif StrictVersion(django.get_version()) >= StrictVersion('1.6'): + fixture = 'basic_dj16.html' + else: + fixture = 'basic_old.html' + + tpl = os.path.join('fixtures', fixture) with open(os.path.join(TEST_DIR, tpl)) as f: content = f.read() @@ -56,7 +61,14 @@ class BootstrapTemplateTagTests(TestCase): html = Template("{% load bootstrap %}{{ form|bootstrap_horizontal }}").render(Context({'form': form})) - tpl = os.path.join('fixtures', 'horizontal.html') + if StrictVersion(django.get_version()) >= StrictVersion('1.7'): + fixture = 'horizontal.html' + elif StrictVersion(django.get_version()) >= StrictVersion('1.6'): + fixture = 'horizontal_dj16.html' + else: + fixture = 'horizontal_old.html' + + tpl = os.path.join('fixtures', fixture) with open(os.path.join(TEST_DIR, tpl)) as f: content = f.read() diff --git a/setup.py b/setup.py index 74a79cc..ddd8c43 100644 --- a/setup.py +++ b/setup.py @@ -20,10 +20,10 @@ setup( author='tzangms', author_email='tzangms@gmail.com', url='http://github.com/tzangms/django-bootstrap-form', - license='BSD', + license='MIT', test_suite='runtests.runtests', install_requires = [ - "django>=1.3", + "django>=1.5", ], packages=find_packages(), include_package_data=True, diff --git a/tox.ini b/tox.ini new file mode 100644 index 0000000..1140769 --- /dev/null +++ b/tox.ini @@ -0,0 +1,22 @@ +[tox] +envlist = {py27,py34}-django{15,16,17,18} +skipsdist=True + + +[testenv] +basepython = + py27: python2.7 + py34: python3.4 +deps = + pytest + django15: Django>=1.5,<1.6 + django16: Django>=1.6,<1.7 + django17: Django>=1.7,<1.8 + django18: Django>=1.8,<1.9 +commands = python setup.py test + + +[testenv:py27-cov] +deps = + django18: Django>=1.8,<1.9 +command = coverage run --source=bootstrapform setup.py test