mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 06:08:52 +00:00
Merge remote-tracking branch 'cyberalien/feature/append_var' into develop
* cyberalien/feature/append_var: [feature/append_var] Adding test case [feature/append_var] Adding append_var template class function
This commit is contained in:
commit
65e711cbb0
3 changed files with 70 additions and 2 deletions
|
@ -53,7 +53,9 @@ class phpbb_template_context
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Assign a single variable to a single key
|
* Assign a single scalar value to a single key.
|
||||||
|
*
|
||||||
|
* Value can be a string, an integer or a boolean.
|
||||||
*
|
*
|
||||||
* @param string $varname Variable name
|
* @param string $varname Variable name
|
||||||
* @param string $varval Value to assign to variable
|
* @param string $varval Value to assign to variable
|
||||||
|
@ -65,6 +67,21 @@ class phpbb_template_context
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Append text to the string value stored in a key.
|
||||||
|
*
|
||||||
|
* Text is appended using the string concatenation operator (.).
|
||||||
|
*
|
||||||
|
* @param string $varname Variable name
|
||||||
|
* @param string $varval Value to append to variable
|
||||||
|
*/
|
||||||
|
public function append_var($varname, $varval)
|
||||||
|
{
|
||||||
|
$this->rootref[$varname] = (isset($this->rootref[$varname]) ? $this->rootref[$varname] : '') . $varval;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a reference to template data array.
|
* Returns a reference to template data array.
|
||||||
*
|
*
|
||||||
|
|
|
@ -378,7 +378,9 @@ class phpbb_template
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Assign a single variable to a single key
|
* Assign a single scalar value to a single key.
|
||||||
|
*
|
||||||
|
* Value can be a string, an integer or a boolean.
|
||||||
*
|
*
|
||||||
* @param string $varname Variable name
|
* @param string $varname Variable name
|
||||||
* @param string $varval Value to assign to variable
|
* @param string $varval Value to assign to variable
|
||||||
|
@ -388,6 +390,19 @@ class phpbb_template
|
||||||
$this->context->assign_var($varname, $varval);
|
$this->context->assign_var($varname, $varval);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Append text to the string value stored in a key.
|
||||||
|
*
|
||||||
|
* Text is appended using the string concatenation operator (.).
|
||||||
|
*
|
||||||
|
* @param string $varname Variable name
|
||||||
|
* @param string $varval Value to append to variable
|
||||||
|
*/
|
||||||
|
public function append_var($varname, $varval)
|
||||||
|
{
|
||||||
|
$this->context->append_var($varname, $varval);
|
||||||
|
}
|
||||||
|
|
||||||
// Docstring is copied from phpbb_template_context method with the same name.
|
// Docstring is copied from phpbb_template_context method with the same name.
|
||||||
/**
|
/**
|
||||||
* Assign key variable pairs from an array to a specified block
|
* Assign key variable pairs from an array to a specified block
|
||||||
|
|
|
@ -347,6 +347,42 @@ class phpbb_template_template_test extends phpbb_template_template_test_case
|
||||||
$this->assertEquals($expected, $this->display('container'), "Testing assign_display($file)");
|
$this->assertEquals($expected, $this->display('container'), "Testing assign_display($file)");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function test_append_var_without_assign_var()
|
||||||
|
{
|
||||||
|
$this->template->set_filenames(array(
|
||||||
|
'append_var' => 'variable.html'
|
||||||
|
));
|
||||||
|
|
||||||
|
$items = array('This ', 'is ', 'a ', 'test');
|
||||||
|
$expecting = implode('', $items);
|
||||||
|
|
||||||
|
foreach ($items as $word)
|
||||||
|
{
|
||||||
|
$this->template->append_var('VARIABLE', $word);
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->assertEquals($expecting, $this->display('append_var'));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function test_append_var_with_assign_var()
|
||||||
|
{
|
||||||
|
$this->template->set_filenames(array(
|
||||||
|
'append_var' => 'variable.html'
|
||||||
|
));
|
||||||
|
|
||||||
|
$start = 'This ';
|
||||||
|
$items = array('is ', 'a ', 'test');
|
||||||
|
$expecting = $start . implode('', $items);
|
||||||
|
|
||||||
|
$this->template->assign_var('VARIABLE', $start);
|
||||||
|
foreach ($items as $word)
|
||||||
|
{
|
||||||
|
$this->template->append_var('VARIABLE', $word);
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->assertEquals($expecting, $this->display('append_var'));
|
||||||
|
}
|
||||||
|
|
||||||
public function test_php()
|
public function test_php()
|
||||||
{
|
{
|
||||||
$this->setup_engine(array('tpl_allow_php' => true));
|
$this->setup_engine(array('tpl_allow_php' => true));
|
||||||
|
|
Loading…
Add table
Reference in a new issue