diff options
author | Andrey Andreev <narf@devilix.net> | 2022-01-05 20:42:05 +0100 |
---|---|---|
committer | Andrey Andreev <narf@devilix.net> | 2022-01-05 20:42:05 +0100 |
commit | 2afffc07780f29767d8b212f7c2cbde4ab56ef51 (patch) | |
tree | bcbc1f7ac2219d11d35a1e84db844cb197c8c792 /tests/codeigniter/core | |
parent | 29d07cb116a31ebae58266f05c3c2eac3eeccb08 (diff) | |
parent | f5255269f21e66481166518db2653dc3e8c46202 (diff) |
Merge branch 'feature/uncache_ci_vars' of github.com:TalonTR/Codeigniter into feature/viewvars
Diffstat (limited to 'tests/codeigniter/core')
-rw-r--r-- | tests/codeigniter/core/Loader_test.php | 15 |
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); } // -------------------------------------------------------------------- |