Skip to content

Commit

Permalink
TemplateFactory: filters |normalize, |toAscii, |reverse, |url, |null …
Browse files Browse the repository at this point in the history
…and |modifyDate are deprecated
  • Loading branch information
dg committed Jan 19, 2017
1 parent 6213a35 commit 337c67c
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 13 deletions.
18 changes: 14 additions & 4 deletions src/Bridges/ApplicationLatte/TemplateFactory.php
Original file line number Diff line number Diff line change
Expand Up @@ -81,12 +81,22 @@ public function createTemplate(UI\Control $control = NULL)
}
});

$latte->addFilter('url', 'rawurlencode'); // back compatiblity
foreach (['normalize', 'toAscii', 'webalize', 'reverse'] as $name) {
$latte->addFilter($name, 'Nette\Utils\Strings::' . $name);
$latte->addFilter('webalize', 'Nette\Utils\Strings::webalize');
$latte->addFilter('url', function ($s) {
trigger_error('Filter |url is deprecated, use |escapeUrl.', E_USER_DEPRECATED);
return rawurlencode($s);
});
foreach (['normalize', 'toAscii', 'reverse'] as $name) {
$latte->addFilter($name, function ($s) use ($name) {
trigger_error("Filter |$name is deprecated.", E_USER_DEPRECATED);
return [Nette\Utils\Strings::class, $name]($s);
});
}
$latte->addFilter('null', function () {});
$latte->addFilter('null', function () {
trigger_error('Filter |null is deprecated.', E_USER_DEPRECATED);
});
$latte->addFilter('modifyDate', function ($time, $delta, $unit = NULL) {
trigger_error('Filter |modifyDate is deprecated.', E_USER_DEPRECATED);
return $time == NULL ? NULL : Nette\Utils\DateTime::from($time)->modify($delta . $unit); // intentionally ==
});

Expand Down
18 changes: 9 additions & 9 deletions tests/Bridges.Latte/TemplateFactory.filters.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -35,15 +35,15 @@ $latte = $factory->createTemplate()->getLatte();
setlocale(LC_TIME, 'C');
date_default_timezone_set('Europe/Prague');

Assert::null($latte->invokeFilter('modifyDate', [NULL, NULL]));
Assert::same('1978-01-24 11:40:00', (string) $latte->invokeFilter('modifyDate', [254400000, '+1 day']));
Assert::same('1978-05-06 00:00:00', (string) $latte->invokeFilter('modifyDate', ['1978-05-05', '+1 day']));
Assert::same('1978-05-06 00:00:00', (string) $latte->invokeFilter('modifyDate', [new DateTime('1978-05-05'), '1day']));
Assert::same('1978-01-22 11:40:00', (string) $latte->invokeFilter('modifyDate', [254400000, -1, 'day']));
Assert::null(@$latte->invokeFilter('modifyDate', [NULL, NULL])); // @ is deprecated
Assert::same('1978-01-24 11:40:00', (string) @$latte->invokeFilter('modifyDate', [254400000, '+1 day']));
Assert::same('1978-05-06 00:00:00', (string) @$latte->invokeFilter('modifyDate', ['1978-05-05', '+1 day']));
Assert::same('1978-05-06 00:00:00', (string) @$latte->invokeFilter('modifyDate', [new DateTime('1978-05-05'), '1day']));
Assert::same('1978-01-22 11:40:00', (string) @$latte->invokeFilter('modifyDate', [254400000, -1, 'day']));


Assert::same('%25', $latte->invokeFilter('url', ['%']));
Assert::null($latte->invokeFilter('null', ['x']));
Assert::same('', $latte->invokeFilter('normalize', [' ']));
Assert::same('%25', @$latte->invokeFilter('url', ['%'])); // @ is deprecated
Assert::null(@$latte->invokeFilter('null', ['x'])); // @ is deprecated
Assert::same('', @$latte->invokeFilter('normalize', [' '])); // @ is deprecated
Assert::same('a-b', $latte->invokeFilter('webalize', ['a b']));
Assert::same('cba', $latte->invokeFilter('reverse', ['abc']));
Assert::same('cba', @$latte->invokeFilter('reverse', ['abc'])); // @ is deprecated

0 comments on commit 337c67c

Please sign in to comment.