Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Fixed #14544 -- Squashed bug in the findstatic command when used with…

… the --first option.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@14324 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit 85ef6c09386ec55193dc4ca40251c7c4ca559516 1 parent c1b3dee
@jezdez jezdez authored
View
2  django/contrib/staticfiles/management/commands/findstatic.py
@@ -17,6 +17,8 @@ def handle_label(self, path, **options):
verbosity = int(options.get('verbosity', 1))
result = finders.find(path, all=options['all'])
if result:
+ if not isinstance(result, (list, tuple)):
+ result = [result]
output = '\n '.join((os.path.realpath(path) for path in result))
self.stdout.write("Found %r here:\n %s\n" % (path, output))
else:
View
34 tests/regressiontests/staticfiles_tests/tests.py
@@ -3,6 +3,7 @@
import os
import sys
import posixpath
+from StringIO import StringIO
from django.test import TestCase
from django.conf import settings
@@ -134,6 +135,39 @@ def test_app_files(self):
self.assertFileContains('test/file1.txt', 'file1 in the app dir')
+class TestFindStatic(BuildStaticTestCase, TestDefaults):
+ """
+ Test ``findstatic`` management command.
+ """
+ def _get_file(self, filepath):
+ _stdout = sys.stdout
+ sys.stdout = StringIO()
+ try:
+ call_command('findstatic', filepath, all=False, verbosity='0')
+ sys.stdout.seek(0)
+ lines = [l.strip() for l in sys.stdout.readlines()]
+ contents = open(lines[1].strip()).read()
+ finally:
+ sys.stdout = _stdout
+ return contents
+
+ def test_all_files(self):
+ """
+ Test that findstatic returns all candidate files if run without --first.
+ """
+ _stdout = sys.stdout
+ sys.stdout = StringIO()
+ try:
+ call_command('findstatic', 'test/file.txt', verbosity='0')
+ sys.stdout.seek(0)
+ lines = [l.strip() for l in sys.stdout.readlines()]
+ finally:
+ sys.stdout = _stdout
+ self.assertEquals(len(lines), 3) # three because there is also the "Found <file> here" line
+ self.failUnless('project' in lines[1])
+ self.failUnless('apps' in lines[2])
+
+
class TestBuildStatic(BuildStaticTestCase, TestDefaults):
"""
Test ``collectstatic`` management command.

0 comments on commit 85ef6c0

Please sign in to comment.
Something went wrong with that request. Please try again.