From 5417d5ead158a394872da76e6b241923172e1d52 Mon Sep 17 00:00:00 2001 From: Corey Taylor Date: Fri, 23 Oct 2020 02:46:19 -0500 Subject: [PATCH] Add unit test for using plugin helpers --- composer.json | 3 +- tests/TestCase/View/TwigViewTest.php | 22 +++++++++++++- .../plugins/TestTwigView/src/Plugin.php | 10 +++++++ .../src/View/Helper/OutputHelper.php | 30 +++++++++++++++++++ .../{helper_test.twig => helper.twig} | 0 tests/test_app/templates/plugin_helper.twig | 2 ++ 6 files changed, 65 insertions(+), 2 deletions(-) create mode 100644 tests/test_app/plugins/TestTwigView/src/Plugin.php create mode 100644 tests/test_app/plugins/TestTwigView/src/View/Helper/OutputHelper.php rename tests/test_app/templates/{helper_test.twig => helper.twig} (100%) create mode 100644 tests/test_app/templates/plugin_helper.twig diff --git a/composer.json b/composer.json index dc3ec5e..bde7d78 100644 --- a/composer.json +++ b/composer.json @@ -46,7 +46,8 @@ "autoload-dev": { "psr-4": { "Cake\\TwigView\\Test\\": "tests/", - "TestApp\\": "tests/test_app/src/" + "TestApp\\": "tests/test_app/src/", + "TestTwigView\\": "tests/test_app/plugins/TestTwigView/src/" } }, "scripts": { diff --git a/tests/TestCase/View/TwigViewTest.php b/tests/TestCase/View/TwigViewTest.php index 8b21b4c..c3bf3cb 100644 --- a/tests/TestCase/View/TwigViewTest.php +++ b/tests/TestCase/View/TwigViewTest.php @@ -236,9 +236,29 @@ public function testHelperFunction() 'viewVars' => ['elementVar' => 'var echoed inside element'], ]); - $output = $view->render('helper_test', false); + $output = $view->render('helper', false); $expected = "var echoed inside element\n

I love CakePHP

\n"; $this->assertSame($expected, $output); } + + public function testPluginHelperFunction() + { + $this->loadPlugins(['TestTwigView']); + + $view = new AppView(null, null, null, [ + 'helpers' => ['TestTwigView.Output'], + ]); + + $expected = "from OutputHelper\nfrom OutputHelper"; + $this->assertSame($expected, $view->render('plugin_helper', false)); + + $view = new AppView(); + $view->helpers()->load('TestTwigView.Output'); + + $expected = "from OutputHelper\nfrom OutputHelper"; + $this->assertSame($expected, $view->render('plugin_helper', false)); + + $this->clearPlugins(); + } } diff --git a/tests/test_app/plugins/TestTwigView/src/Plugin.php b/tests/test_app/plugins/TestTwigView/src/Plugin.php new file mode 100644 index 0000000..f551211 --- /dev/null +++ b/tests/test_app/plugins/TestTwigView/src/Plugin.php @@ -0,0 +1,10 @@ +