Run spec inheritance tests.
This commit is contained in:
@@ -0,0 +1,55 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of Mustache.php.
|
||||||
|
*
|
||||||
|
* (c) 2010-2017 Justin Hileman
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A PHPUnit test case wrapping the Mustache Spec.
|
||||||
|
*
|
||||||
|
* @group mustache-spec
|
||||||
|
* @group functional
|
||||||
|
*/
|
||||||
|
class Mustache_Test_Functional_MustacheInheritanceSpecTest extends Mustache_Test_SpecTestCase
|
||||||
|
{
|
||||||
|
public static function setUpBeforeClass()
|
||||||
|
{
|
||||||
|
self::$mustache = new Mustache_Engine(array(
|
||||||
|
'pragmas' => array(Mustache_Engine::PRAGMA_BLOCKS),
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* For some reason data providers can't mark tests skipped, so this test exists
|
||||||
|
* simply to provide a 'skipped' test if the `spec` submodule isn't initialized.
|
||||||
|
*/
|
||||||
|
public function testSpecInitialized()
|
||||||
|
{
|
||||||
|
if (!file_exists(dirname(__FILE__) . '/../../../../vendor/spec/specs/')) {
|
||||||
|
$this->markTestSkipped('Mustache spec submodule not initialized: run "git submodule update --init"');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @group inheritance
|
||||||
|
* @dataProvider loadInheritanceSpec
|
||||||
|
*/
|
||||||
|
public function testInheritanceSpec($desc, $source, $partials, $data, $expected)
|
||||||
|
{
|
||||||
|
$template = self::loadTemplate($source, $partials);
|
||||||
|
$this->assertEquals($expected, $template->render($data), $desc);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function loadInheritanceSpec()
|
||||||
|
{
|
||||||
|
// return $this->loadSpec('sections');
|
||||||
|
// return [];
|
||||||
|
// die;
|
||||||
|
return $this->loadSpec('~inheritance');
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user