Example #1
0
$template->rec('bar');
?>
Testing bar slot
<?php 
$template->stop();
$t->is_deeply($template->bar, "Testing bar slot\n", '->rec(), ->stop() works properly');
$template->assign(array('t1' => 'foo', 't2' => 'bar'));
$t->ok($template->t1 === 'foo' && $template->t2 === 'bar', '->assign() mass assignment works properly');
$t->diag('escaper');
$escaper = function ($v) {
    return htmlspecialchars($v);
};
$template->escaper($escaper);
$t->is_deeply($template->escaper(), $escaper, '->escaper() works properly');
$value = 12;
$t->is_deeply($template->escape($value), $value, '->escape() handles integers correctly');
$value = 3.1415;
$t->is_deeply($template->escape($value), $value, '->escape() handles floats correctly');
$value = '<b>foo</b>';
$t->is_deeply($template->escape($value), htmlspecialchars($value), '->escape() handles strings correctly');
$value = true;
$t->is_deeply($template->escape($value), $value, '->escape() handles booleans correctly');
$value = array();
$t->is_deeply($template->escape($value), $value, '->escape() handles arrays correctly');
$value = new stdClass();
$t->is_deeply($template->escape($value), $value, '->escape() handles objects correctly');
$t->diag('inheritance');
class layout extends greebo\conveniences\Template
{
    function content()
    {