From b7853a87ac0575f83793d5d6a7ed44849156e189 Mon Sep 17 00:00:00 2001 From: Florian Pritz Date: Sat, 20 Aug 2016 14:32:39 +0200 Subject: Test \libraries\Output_cache Signed-off-by: Florian Pritz --- .../test/tests/test_libraries_output_cache.php | 82 ++++++++++++++++++++++ application/views/tests/echo-fragment.php | 5 ++ 2 files changed, 87 insertions(+) create mode 100644 application/test/tests/test_libraries_output_cache.php create mode 100644 application/views/tests/echo-fragment.php diff --git a/application/test/tests/test_libraries_output_cache.php b/application/test/tests/test_libraries_output_cache.php new file mode 100644 index 000000000..3668bc6b4 --- /dev/null +++ b/application/test/tests/test_libraries_output_cache.php @@ -0,0 +1,82 @@ + + * + * Licensed under AGPLv3 + * (see COPYING for full license text) + * + */ + +namespace test\tests; + +class test_libraries_output_cache extends \test\Test { + + public function __construct() + { + parent::__construct(); + } + + public function init() + { + } + + public function cleanup() + { + } + + public function test_add() + { + $oc = new \libraries\Output_cache(); + $oc->add("teststring"); + + ob_start(); + $oc->render(); + $output = ob_get_clean(); + + $this->t->is($output, "teststring", "Simple add renders correctly"); + } + + public function test_add_function() + { + $oc = new \libraries\Output_cache(); + $oc->add_function(function() {echo "teststring";}); + + ob_start(); + $oc->render(); + $output = ob_get_clean(); + + $this->t->is($output, "teststring", "Simple add_function renders correctly"); + } + + public function test_add_merge() + { + + $oc = new \libraries\Output_cache(); + $oc->add_merge(['items' => ["test1\n"]], 'tests/echo-fragment'); + $oc->add_merge(['items' => ["test2\n"]], 'tests/echo-fragment'); + + ob_start(); + $oc->render(); + $output = ob_get_clean(); + + $this->t->is($output, "listing 2 items:\ntest1\ntest2\n", "Simple add renders correctly"); + } + + public function test_add_merge_mixedViews() + { + + $oc = new \libraries\Output_cache(); + $oc->add_merge(['items' => ["test1\n"]], 'tests/echo-fragment'); + $oc->add_merge(['items' => ["test2\n"]], 'tests/echo-fragment'); + $oc->add("blub\n"); + $oc->add_merge(['items' => ["test3\n"]], 'tests/echo-fragment'); + + ob_start(); + $oc->render(); + $output = ob_get_clean(); + + $this->t->is($output, "listing 2 items:\ntest1\ntest2\nblub\nlisting 1 items:\ntest3\n", "Simple add renders correctly"); + } + +} + diff --git a/application/views/tests/echo-fragment.php b/application/views/tests/echo-fragment.php new file mode 100644 index 000000000..f8c26661f --- /dev/null +++ b/application/views/tests/echo-fragment.php @@ -0,0 +1,5 @@ +