Skip to content

Commit

Permalink
Use relative path to find tag file
Browse files Browse the repository at this point in the history
  • Loading branch information
Mikael Randy committed Apr 9, 2018
1 parent def5104 commit 536a140
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 1 deletion.
11 changes: 11 additions & 0 deletions classes/script.php
Expand Up @@ -51,6 +51,17 @@ public function getDirectory()
return rtrim($directory, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR;
}

public function getRelativeDirectory()
{
$directory = $this->adapter->dirname($this->getName());

if ($this->adapter->is_dir($directory) === false) {
$directory = $this->adapter->getcwd();
}

return rtrim($directory, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR;
}

public function setAdapter(adapter $adapter = null)
{
$this->adapter = $adapter ?: new adapter();
Expand Down
2 changes: 1 addition & 1 deletion classes/scripts/git/pusher.php
Expand Up @@ -58,7 +58,7 @@ public function setTagFile($tagFile = null)
if ($tagFile !== null) {
$tagFile = (string) $tagFile;
} else {
$tagFile = $this->getDirectory() . self::defaultTagFile;
$tagFile = $this->getRelativeDirectory() . self::defaultTagFile;
}

$this->tagFile = $tagFile;
Expand Down
22 changes: 22 additions & 0 deletions tests/units/classes/script.php
Expand Up @@ -638,4 +638,26 @@ public function testGetDirectory()
->string($script->getDirectory())->isEqualTo($currentDirectory . DIRECTORY_SEPARATOR)
;
}

public function testGetRelativeDirectory()
{
$this
->given($script = new mock\script($name = uniqid()))
->and($script->setAdapter($adapter = new atoum\test\adapter()))
->and($adapter->is_dir = true)
->and($adapter->dirname = $directory = uniqid())
->then
->string($script->getRelativeDirectory())->isEqualTo($directory . DIRECTORY_SEPARATOR)
->if($adapter->dirname = $directory . DIRECTORY_SEPARATOR)
->then
->string($script->getRelativeDirectory())->isEqualTo($directory . DIRECTORY_SEPARATOR)
->if($adapter->is_dir = false)
->and($adapter->getcwd = $directory = uniqid())
->then
->string($script->getRelativeDirectory())->isEqualTo($directory . DIRECTORY_SEPARATOR)
->and($adapter->getcwd = $directory . DIRECTORY_SEPARATOR)
->then
->string($script->getRelativeDirectory())->isEqualTo($directory . DIRECTORY_SEPARATOR)
;
}
}

0 comments on commit 536a140

Please sign in to comment.