forked from CouscousPHP/Couscous
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
CouscousPHP#74 Add a currentFile variable to each file
That variable contains the relative name of the current file. It can be used for example to link to the GitHub source file (to offer editing the documentation). Because it was getting out of hand, I had to move back all the steps into the main application config. This is much simpler now, even though that means we can't dynamically add modules.
- Loading branch information
Showing
24 changed files
with
132 additions
and
108 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
<?php | ||
|
||
namespace Couscous\Module\Core\Step; | ||
|
||
use Couscous\Model\Project; | ||
use Couscous\Step; | ||
|
||
/** | ||
* Add to the current file name to the metadata. | ||
* | ||
* @author Matthieu Napoli <[email protected]> | ||
*/ | ||
class AddFileNameToMetadata implements Step | ||
{ | ||
public function __invoke(Project $project) | ||
{ | ||
foreach ($project->getFiles() as $file) { | ||
$fileMetadata = $file->getMetadata(); | ||
$fileMetadata['currentFile'] = $file->relativeFilename; | ||
} | ||
} | ||
} |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
1 change: 1 addition & 0 deletions
1
tests/FunctionalTest/Fixture/current-file/expected/docs/foo.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
docs/foo.md |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
README.md |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
test.md |
Empty file.
Empty file.
Empty file.
Empty file.
1 change: 1 addition & 0 deletions
1
tests/FunctionalTest/Fixture/current-file/source/website/default.twig
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
{{ currentFile }} |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
<?php | ||
|
||
namespace Couscous\Tests\UnitTest\Model; | ||
|
||
use Couscous\Model\File; | ||
|
||
/** | ||
* @covers \Couscous\Model\File | ||
*/ | ||
class FileTest extends \PHPUnit_Framework_TestCase | ||
{ | ||
/** | ||
* @test | ||
*/ | ||
public function it_should_have_metadata() | ||
{ | ||
/** @var File $file */ | ||
$file = $this->getMock('Couscous\Model\File', array('getContent'), array('test.md')); | ||
|
||
$file->getMetadata()['foo'] = 'test'; | ||
$this->assertEquals('test', $file->getMetadata()['foo']); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
<?php | ||
|
||
namespace Couscous\Tests\UnitTest\Module\Template\Step; | ||
|
||
use Couscous\Module\Core\Step\AddFileNameToMetadata; | ||
use Couscous\Module\Template\Model\HtmlFile; | ||
use Couscous\Tests\UnitTest\Mock\MockProject; | ||
|
||
/** | ||
* @covers \Couscous\Module\Core\Step\AddFileNameToMetadata | ||
*/ | ||
class AddFileNameToMetadataTest extends \PHPUnit_Framework_TestCase | ||
{ | ||
/** | ||
* @test | ||
*/ | ||
public function it_should_add_the_metadata_variable() | ||
{ | ||
$project = new MockProject(); | ||
$project->addFile(new HtmlFile('foo/bar/index.html', '')); | ||
|
||
$step = new AddFileNameToMetadata(); | ||
$step->__invoke($project); | ||
|
||
$files = $project->getFiles(); | ||
$file = $files[0]; | ||
|
||
$this->assertEquals('foo/bar/index.html', $file->getMetadata()['currentFile']); | ||
} | ||
} |