summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorAndrey Andreev <narf@devilix.net>2022-01-05 20:42:05 +0100
committerAndrey Andreev <narf@devilix.net>2022-01-05 20:42:05 +0100
commit2afffc07780f29767d8b212f7c2cbde4ab56ef51 (patch)
treebcbc1f7ac2219d11d35a1e84db844cb197c8c792 /tests
parent29d07cb116a31ebae58266f05c3c2eac3eeccb08 (diff)
parentf5255269f21e66481166518db2653dc3e8c46202 (diff)
Merge branch 'feature/uncache_ci_vars' of github.com:TalonTR/Codeigniter into feature/viewvars
Diffstat (limited to 'tests')
-rw-r--r--tests/codeigniter/core/Loader_test.php15
1 files changed, 14 insertions, 1 deletions
diff --git a/tests/codeigniter/core/Loader_test.php b/tests/codeigniter/core/Loader_test.php
index 4fa6d6869..df9c9f44b 100644
--- a/tests/codeigniter/core/Loader_test.php
+++ b/tests/codeigniter/core/Loader_test.php
@@ -311,12 +311,16 @@ class Loader_test extends CI_TestCase {
$var = 'hello';
$value = 'World!';
$content = 'This is my test page. ';
- $this->ci_vfs_create($view, $content.'<?php echo $'.$var.';', $this->ci_app_root, 'views');
+ $this->ci_vfs_create($view, $content.'<?php echo (isset($'.$var.') ? $'.$var.' : "undefined");', $this->ci_app_root, 'views');
// Test returning view
$out = $this->load->view($view, array($var => $value), TRUE);
$this->assertEquals($content.$value, $out);
+ // Test view with missing parameter in $vars
+ $out = $this->load->view($view, [], TRUE);
+ $this->assertEquals($content.'undefined', $out);
+
// Mock output class
$output = $this->getMockBuilder('CI_Output')->setMethods(array('append_output'))->getMock();
$output->expects($this->once())->method('append_output')->with($content.$value);
@@ -326,6 +330,15 @@ class Loader_test extends CI_TestCase {
$vars = new stdClass();
$vars->$var = $value;
$this->assertInstanceOf('CI_Loader', $this->load->view($view, $vars));
+
+ // Create another view in VFS, nesting the first one without its own $vars
+ $nesting_view = 'unit_test_nesting_view';
+ $nesting_content = 'Here comes a nested view. ';
+ $this->ci_vfs_create($nesting_view, $nesting_content.'<?php $loader->view("'.$view.'");', $this->ci_app_root, 'views');
+
+ // Test $vars inheritance to nested views
+ $out = $this->load->view($nesting_view, array("loader" => $this->load, $var => $value), TRUE);
+ $this->assertEquals($nesting_content.$content.$value, $out);
}
// --------------------------------------------------------------------