diff --git a/examples/minify/static/css/test-up-to-date-all.css b/examples/minify/static/css/test-up-to-date-all.css new file mode 100644 index 0000000..cd204e6 --- /dev/null +++ b/examples/minify/static/css/test-up-to-date-all.css @@ -0,0 +1,3 @@ +body { + color: chocolate; +} diff --git a/examples/minify/static/css/test-up-to-date.css b/examples/minify/static/css/test-up-to-date.css new file mode 100644 index 0000000..cd204e6 --- /dev/null +++ b/examples/minify/static/css/test-up-to-date.css @@ -0,0 +1,3 @@ +body { + color: chocolate; +} diff --git a/jingo_minify/tests.py b/jingo_minify/tests.py index 80c9c69..ad607bb 100644 --- a/jingo_minify/tests.py +++ b/jingo_minify/tests.py @@ -1,9 +1,12 @@ +import os + from django.conf import settings from django.test.utils import override_settings +from django.core.management import call_command import jingo from mock import ANY, call, patch -from nose.tools import eq_ +from nose.tools import eq_, assert_true, assert_false from .utils import get_media_root, get_media_url @@ -296,3 +299,20 @@ def test_js(getmtime, time): for j in settings.MINIFY_BUNDLES['js']['common']]) eq_(s, expected) + + +@override_settings(MINIFY_BUNDLES={'css': {'test-up-to-date': ['css/test-up-to-date.css'], }}, + JAVA_BIN="java") +def test_non_existing_minified_file(): + """Non existing minified file are minified even if concatenated ones are up to date""" + minified_file = os.path.join( + settings.STATIC_ROOT, + 'css', + 'test-up-to-date-min.css' + ) + assert_false(os.path.isfile(minified_file)) + call_command('compress_assets') + assert_true(os.path.isfile(minified_file)) + with open(minified_file) as f: + eq_(f.read(), "body{color:chocolate}") + os.remove(minified_file)