mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-11 22:08:54 +00:00
Merge remote-tracking branch 'rxu3/ticket/12224' into develop
* rxu3/ticket/12224: [ticket/12224] Add assign_block_vars_array() test. [ticket/12224] Add template wrapper method to assign block arrays
This commit is contained in:
commit
235f7c3721
4 changed files with 68 additions and 0 deletions
|
@ -110,6 +110,16 @@ abstract class base implements template
|
|||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function assign_block_vars_array($blockname, array $block_vars_array)
|
||||
{
|
||||
$this->context->assign_block_vars_array($blockname, $block_vars_array);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
|
|
|
@ -199,6 +199,22 @@ class context
|
|||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Assign key variable pairs from an array to a whole specified block loop
|
||||
*
|
||||
* @param string $blockname Name of block to assign $block_vars_array to
|
||||
* @param array $block_vars_array An array of hashes of variable name => value pairs
|
||||
*/
|
||||
public function assign_block_vars_array($blockname, array $block_vars_array)
|
||||
{
|
||||
foreach ($block_vars_array as $vararray)
|
||||
{
|
||||
$this->assign_block_vars($blockname, $vararray);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Change already assigned key variable pair (one-dimensional - single loop entry)
|
||||
*
|
||||
|
|
|
@ -131,6 +131,14 @@ interface template
|
|||
*/
|
||||
public function assign_block_vars($blockname, array $vararray);
|
||||
|
||||
/**
|
||||
* Assign key variable pairs from an array to a whole specified block loop
|
||||
* @param string $blockname Name of block to assign $block_vars_array to
|
||||
* @param array $block_vars_array An array of hashes of variable name => value pairs
|
||||
* @return \phpbb\template\template $this
|
||||
*/
|
||||
public function assign_block_vars_array($blockname, array $block_vars_array);
|
||||
|
||||
/**
|
||||
* Change already assigned key variable pair (one-dimensional - single loop entry)
|
||||
*
|
||||
|
|
|
@ -562,6 +562,40 @@ EOT
|
|||
$this->assertEquals($expect, str_replace(array("\n", "\r", "\t"), '', $this->display('test')), 'Ensuring S_NUM_ROWS is correct after modification');
|
||||
}
|
||||
|
||||
public function assign_block_vars_array_data()
|
||||
{
|
||||
return array(
|
||||
array(
|
||||
array(
|
||||
'outer' => array(
|
||||
array('VARIABLE' => 'Test assigning block vars array loop 0:'),
|
||||
array('VARIABLE' => 'Test assigning block vars array loop 1:'),
|
||||
),
|
||||
'outer.middle' => array(
|
||||
array('VARIABLE' => '1st iteration',),
|
||||
array('VARIABLE' => '2nd iteration',),
|
||||
array('VARIABLE' => '3rd iteration',),
|
||||
),
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider assign_block_vars_array_data
|
||||
*/
|
||||
public function test_assign_block_vars_array($block_data)
|
||||
{
|
||||
$this->template->set_filenames(array('test' => 'loop_nested.html'));
|
||||
|
||||
foreach ($block_data as $blockname => $block_vars_array)
|
||||
{
|
||||
$this->template->assign_block_vars_array($blockname, $block_vars_array);
|
||||
}
|
||||
|
||||
$this->assertEquals("outer - 0 - Test assigning block vars array loop 0:outer - 1 - Test assigning block vars array loop 1:middle - 0 - 1st iterationmiddle - 1 - 2nd iterationmiddle - 2 - 3rd iteration", $this->display('test'), 'Ensuring assigning block vars array to template is working correctly');
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException Twig_Error_Syntax
|
||||
*/
|
||||
|
|
Loading…
Add table
Reference in a new issue