Merge pull request #319 from orchardup/fix-project-name-regression

Fix regression of default behaviour in Command.project_name
This commit is contained in:
Ben Firshman 2014-07-14 20:31:20 +01:00
commit bad0f45816
2 changed files with 18 additions and 2 deletions

View File

@ -69,7 +69,7 @@ class Command(DocoptCommand):
@cached_property
def project_name(self):
project = os.path.basename(os.path.dirname(self.yaml_path))
project = os.path.basename(os.path.dirname(os.path.abspath(self.yaml_path)))
if self.explicit_project_name is not None:
project = self.explicit_project_name
project = re.sub(r'[^a-zA-Z0-9]', '', project)

View File

@ -3,13 +3,29 @@ from __future__ import absolute_import
from .. import unittest
from fig.cli.main import TopLevelCommand
from fig.packages.six import StringIO
import os
class CLITestCase(unittest.TestCase):
def test_project_name_defaults_to_dirname(self):
def test_default_project_name(self):
cwd = os.getcwd()
try:
os.chdir('tests/fixtures/simple-figfile')
command = TopLevelCommand()
self.assertEquals('simplefigfile', command.project_name)
finally:
os.chdir(cwd)
def test_project_name_with_explicit_base_dir(self):
command = TopLevelCommand()
command.base_dir = 'tests/fixtures/simple-figfile'
self.assertEquals('simplefigfile', command.project_name)
def test_project_name_with_explicit_project_name(self):
command = TopLevelCommand()
command.explicit_project_name = 'explicit-project-name'
self.assertEquals('explicitprojectname', command.project_name)
def test_yaml_filename_check(self):
command = TopLevelCommand()
command.base_dir = 'tests/fixtures/longer-filename-figfile'