diff --git a/test/Mustache/Test/Functional/HigherOrderSectionsTest.php b/test/Mustache/Test/Functional/HigherOrderSectionsTest.php index ecbc808..b042455 100644 --- a/test/Mustache/Test/Functional/HigherOrderSectionsTest.php +++ b/test/Mustache/Test/Functional/HigherOrderSectionsTest.php @@ -22,24 +22,26 @@ class Mustache_Test_Functional_HigherOrderSectionsTest extends Mustache_Test_Fun $this->mustache = new Mustache_Engine; } - public function testRuntimeSectionCallback() + /** + * @dataProvider sectionCallbackData + */ + public function testSectionCallback($data, $tpl, $expect) { - $tpl = $this->mustache->loadTemplate('{{#doublewrap}}{{name}}{{/doublewrap}}'); + $this->assertEquals($expect, $this->mustache->render($tpl, $data)); + } + public function sectionCallbackData() + { $foo = new Mustache_Test_Functional_Foo; $foo->doublewrap = array($foo, 'wrapWithBoth'); - $this->assertEquals(sprintf('%s', $foo->name), $tpl->render($foo)); - } + $bar = new Mustache_Test_Functional_Foo; + $bar->trimmer = array(get_class($bar), 'staticTrim'); - public function testStaticSectionCallback() - { - $tpl = $this->mustache->loadTemplate('{{#trimmer}} {{name}} {{/trimmer}}'); - - $foo = new Mustache_Test_Functional_Foo; - $foo->trimmer = array(get_class($foo), 'staticTrim'); - - $this->assertEquals($foo->name, $tpl->render($foo)); + return array( + array($foo, '{{#doublewrap}}{{name}}{{/doublewrap}}', sprintf('%s', $foo->name)), + array($bar, '{{#trimmer}} {{name}} {{/trimmer}}', $bar->name), + ); } public function testViewArraySectionCallback()