|
|
@@ -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}}');
|
|
|
-
|
|
|
- $foo = new Mustache_Test_Functional_Foo;
|
|
|
- $foo->doublewrap = array($foo, 'wrapWithBoth');
|
|
|
-
|
|
|
- $this->assertEquals(sprintf('<strong><em>%s</em></strong>', $foo->name), $tpl->render($foo));
|
|
|
+ $this->assertEquals($expect, $this->mustache->render($tpl, $data));
|
|
|
}
|
|
|
|
|
|
- public function testStaticSectionCallback()
|
|
|
+ public function sectionCallbackData()
|
|
|
{
|
|
|
- $tpl = $this->mustache->loadTemplate('{{#trimmer}} {{name}} {{/trimmer}}');
|
|
|
-
|
|
|
$foo = new Mustache_Test_Functional_Foo;
|
|
|
- $foo->trimmer = array(get_class($foo), 'staticTrim');
|
|
|
+ $foo->doublewrap = array($foo, 'wrapWithBoth');
|
|
|
+
|
|
|
+ $bar = new Mustache_Test_Functional_Foo;
|
|
|
+ $bar->trimmer = array(get_class($bar), 'staticTrim');
|
|
|
|
|
|
- $this->assertEquals($foo->name, $tpl->render($foo));
|
|
|
+ return array(
|
|
|
+ array($foo, '{{#doublewrap}}{{name}}{{/doublewrap}}', sprintf('<strong><em>%s</em></strong>', $foo->name)),
|
|
|
+ array($bar, '{{#trimmer}} {{name}} {{/trimmer}}', $bar->name),
|
|
|
+ );
|
|
|
}
|
|
|
|
|
|
public function testViewArraySectionCallback()
|