From 8f24cef9f6dc2a45c575f2616ab17010fcecb5ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Passerieu?= Date: Mon, 19 Mar 2018 11:56:15 +0100 Subject: [PATCH] some fixes, and improve tests --- class.TplBlock.php | 8 ++++---- test-TplBlock/test.php | 25 +++++++++++++++++++++++-- 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/class.TplBlock.php b/class.TplBlock.php index 0afdeda..082fa7c 100644 --- a/class.TplBlock.php +++ b/class.TplBlock.php @@ -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 = ""; diff --git a/test-TplBlock/test.php b/test-TplBlock/test.php index 16c63e3..51af79c 100644 --- a/test-TplBlock/test.php +++ b/test-TplBlock/test.php @@ -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); +}