holyshared / file-fixture
Simple file fixture loader for unittest
Installs: 1 328
Dependents: 2
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 1
Open Issues: 1
Requires
- php: >=5.6.0
- easyframework/collections: ^6.0 | ^7.0
- eloquent/pathogen: ~0.6
- league/climate: ~3.2
- mustache/mustache: ~2.11
- yosymfony/toml: ~0.3
Requires (Dev)
- cloak/peridot-cloak-plugin: ~2.0
- cloak/robo-coveralls-kit: ~2.1
- codegyre/robo: ~0.7
- expect/peridot-expect-plugin: ~4.0
- peridot-php/peridot: ~1.18
- peridot-php/peridot-dot-reporter: ~1.0
- phpspec/prophecy: ~1.6
README
Simple file fixture loader for unittest.
You can easily load the test-based fixture.
Table of contents
Basic usage
Will be able to load the fixture in four steps.
- Create a loader of container
- Create a fixture of container
- Create a FileFixture
- Load fixture from the container.
$loaders = new LoaderContainer([ new TextLoader() ]); $fixtures = new FixtureContainer([ 'text:default:readme' => __DIR__ . '/README.md' ]); $fixture = new FileFixture($fixtures, $loaders); $content = $fixture->load('text:default:readme'); print $content;
Loader is compatible with text data, mustache template, ASCII art.
- TextLoader - Load the text data.
- MustacheLoader - Load the mustache template
- ArtLoader - Load the ASCII art.
Output fixture of terminal
With ArtLoader, you can load the coloring text data.
Create a fixture file
Create a fixture file.
Mark the text to apply the color in the tag.
<green>#######</green>
<green>#</green>
<green>#</green>
<green>#####</green>
<green>#</green>
<green>#</green>
<green>#</green>
Load of Output fixture
$loaders = new LoaderContainer([ new ArtLoader(new MustacheLoader(new TextLoader())) ]); $fixtures = new FixtureContainer([ 'art:default:header' => __DIR__ . '/art.txt' ]); $fixture = new FileFixture($fixtures, $loaders); $content = $fixture->load('art:default:header'); print $content;
Configuration file
Using the configuration file, you will be able to easily load the fixture.
Example of the fixture to load the mustache of template.
Create a fixture template
{{name}} task was successful.
Create a configuration file of fixture
The name of the fixture, you must begin with the name of the loader.
[mustache.default] successMessage = "template.ms"
The name of this fixture will be mustache:default:successMessage.
Load of fixture
Load the fixture by specifying the name.
When the load is successful, will return the results of template of mustache has been processed.
$textLoader = new TextLoader(); $loaders = new LoaderContainer([ $textLoader, new MustacheLoader($textLoader) ]); $factory = new FixtureContainerFactory(); $fixtures = $factory->createFromFile(__DIR__ . '/fixtures.toml'); $fixture = new FileFixture($fixtures, $loaders); $content = $fixture->load('mustache:default:successMessage', [ 'name' => 'build' ]); print $content;
Contributors
- Jérémy Marodon (@Th3Mouk)