some fixes, and improve tests

master
Rémi Passerieu 6 years ago
parent 11be3ce70c
commit 8f24cef9f6

@ -20,7 +20,7 @@ class TplBlock {
* Input object name
*/
public function __construct(STRING $name =""){
public function __construct($name = NULL){
$this->name = $name;
}
@ -34,7 +34,7 @@ class TplBlock {
}
public function add_sub_block(TplBlock $bloc){
if(empty($bloc->name)){
if(is_null($bloc->name) || empty($bloc->name)){
throw new InvalidTemplateException("A sub tpl bloc can't have an empty name");
return false;
}
@ -59,9 +59,9 @@ class TplBlock {
foreach($this->subBlocs as $blocName => $blocsArr){
$str = preg_replace_callback(
'/' . self::blockStartStart . preg_quote($blocName) . self::blockStartEnd .
'/' . self::blockStartStart . preg_quote($prefix . $blocName) . self::blockStartEnd .
'(.*?)'.
self::blockEndStart . preg_quote($blocName). self::blockEndEnd.
self::blockEndStart . preg_quote($prefix . $blocName). self::blockEndEnd.
'/is',
function($m) use($blocName,$blocsArr,$prefix) {
$out = "";

@ -3,6 +3,9 @@
include("../class.TplBlock.php");
$tpl = new TplBlock();
//simples vars
$tpl->add_vars(array(
"name" => "Gnieark",
"title" => "Monsieur",
@ -12,14 +15,32 @@ $tpl->add_vars(array(
$primes = array(1,2,3,5,7,11);
// a sub bloc
foreach($primes as $prime){
$tplPrime = new TplBlock('primes');
$tplPrime->add_vars(array('number' => $prime));
$tpl->add_sub_block($tplPrime);
}
// test sub - sub blocs
for ($i = 2; $i < 121; $i++){
$tplNumber = new TplBlock('number');
$tplNumber->add_vars( array("value" => $i));
$index = 1;
$number = $i;
while ( $number > 1 && $index < count($primes)){
if($number % $primes[$index] == 0){
$number = $number / $primes[$index];
$tplDivisor = new TplBlock("divisor");
$tplDivisor->add_vars( array("value" => $primes[$index]));
$tplNumber->add_sub_block($tplDivisor);
}else{
$index++;
}
}
$tpl->add_sub_block($tplNumber);
}

Loading…
Cancel
Save