Commit 85ef6c09 authored by Jannis Leidel's avatar Jannis Leidel
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
parent c1b3deed
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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:
+34 −0
Original line number Diff line number Diff line
@@ -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.