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
This commit is contained in:
Jannis Leidel 2010-10-23 14:32:54 +00:00
parent c1b3deedaa
commit 85ef6c0938
2 changed files with 36 additions and 0 deletions

View File

@ -17,6 +17,8 @@ class Command(LabelCommand):
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 File

@ -3,6 +3,7 @@ import shutil
import os
import sys
import posixpath
from StringIO import StringIO
from django.test import TestCase
from django.conf import settings
@ -134,6 +135,39 @@ class TestDefaults(object):
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.