Skip to content
This repository was archived by the owner on Jan 21, 2020. It is now read-only.

Commit bc33ad4

Browse files
committed
Wrote test demonstrating usage of view models
1 parent d04e09a commit bc33ad4

File tree

1 file changed

+29
-2
lines changed

1 file changed

+29
-2
lines changed

test/ZendViewRendererTest.php

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -338,16 +338,43 @@ public function testOverrideSharedParametersPerTemplate()
338338
$this->assertEquals($content, $result);
339339
}
340340

341-
public function testOverrideSharedParametersAtRender()
341+
public function useArrayOrViewModel()
342+
{
343+
return [
344+
'array' => [false],
345+
'view-model' => [true],
346+
];
347+
}
348+
349+
/**
350+
* @dataProvider useArrayOrViewModel
351+
*/
352+
public function testOverrideSharedParametersAtRender($viewAsModel)
342353
{
343354
$renderer = new ZendViewRenderer();
344355
$renderer->addPath(__DIR__ . '/TestAsset');
345356
$name = 'Zend';
346357
$name2 = 'View';
347358
$renderer->addDefaultParam($renderer::TEMPLATE_ALL, 'name', $name);
348-
$result = $renderer->render('zendview', ['name' => $name2]);
359+
360+
$viewModel = ['name' => $name2];
361+
$viewModel = $viewAsModel ? new ViewModel($viewModel) : $viewModel;
362+
363+
$result = $renderer->render('zendview', $viewModel);
349364
$content = file_get_contents(__DIR__ . '/TestAsset/zendview.phtml');
350365
$content = str_replace('<?php echo $name ?>', $name2, $content);
351366
$this->assertEquals($content, $result);
352367
}
368+
369+
public function testWillRenderAViewModel()
370+
{
371+
$renderer = new ZendViewRenderer();
372+
$renderer->addPath(__DIR__ . '/TestAsset');
373+
374+
$viewModel = new ViewModel(['name' => 'Zend']);
375+
$result = $renderer->render('zendview', $viewModel);
376+
377+
$content = file_get_contents(__DIR__ . '/TestAsset/zendview.phtml');
378+
$content = str_replace('<?php echo $name ?>', 'Zend', $content);
379+
}
353380
}

0 commit comments

Comments
 (0)