diff --git a/src/Knp/Menu/Twig/MenuExtension.php b/src/Knp/Menu/Twig/MenuExtension.php index f484aa4b..12a2b663 100644 --- a/src/Knp/Menu/Twig/MenuExtension.php +++ b/src/Knp/Menu/Twig/MenuExtension.php @@ -57,6 +57,14 @@ public function getTests(): array ]; } + public function getLastModified(): int + { + return max( + (int) filemtime(__FILE__), + (int) filemtime(__DIR__.'/MenuRuntimeExtension.php'), + ); + } + /** * @param array $path * @param array $options diff --git a/tests/Knp/Menu/Tests/Twig/MenuExtensionTest.php b/tests/Knp/Menu/Tests/Twig/MenuExtensionTest.php index 23afe847..18c2ae5c 100644 --- a/tests/Knp/Menu/Tests/Twig/MenuExtensionTest.php +++ b/tests/Knp/Menu/Tests/Twig/MenuExtensionTest.php @@ -163,6 +163,14 @@ public function testGetCurrentItem(): void $this->assertEquals('current', $this->getTemplate('{{ knp_menu_get_current_item("default") is knp_menu_current ? "current" : "not current" }}', $helper, $matcher)->render([])); } + public function testLastModified(): void + { + $this->assertSame(max( + filemtime((new \ReflectionClass(MenuExtension::class))->getFileName()), + filemtime((new \ReflectionClass(MenuRuntimeExtension::class))->getFileName()), + ), (new MenuExtension())->getLastModified()); + } + /** * @param array $methods */