Просмотр исходного кода

Merge remote-tracking branch 'KevBurnsJr/fixing_delimiters' into feature/delimiter-cleanup

Conflicts:
	Mustache.php
	test/MustacheTest.php
Justin Hileman 14 лет назад
Родитель
Сommit
0c467311e8
2 измененных файлов с 8 добавлено и 2 удалено
  1. 7 1
      Mustache.php
  2. 1 1
      test/MustacheTest.php

+ 7 - 1
Mustache.php

@@ -219,7 +219,6 @@ class Mustache {
 	 * @return string Rendered Mustache template.
 	 */
 	protected function _renderTemplate($template) {
-		
 		if ($section = $this->_findSection($template)) {
 			list($before, $type, $tag_name, $content, $after) = $section;
 			
@@ -308,6 +307,13 @@ class Mustache {
 			$offset   = $matches[0][1];
 			$type     = $matches['type'][0];
 			$tag_name = trim($matches['tag_name'][0]);
+			
+			if (isset($matches['delims'][0])) {
+				list($otag, $ctag) = explode(' ', $matches['delims'][0]);
+				$regEx = $this->_prepareSectionRegEx($otag, $ctag);
+				$search_offset = $offset + strlen($match);
+				continue;
+			}
 
 			$search_offset = $offset + strlen($match);
 

+ 1 - 1
test/MustacheTest.php

@@ -408,7 +408,7 @@ class MustacheTest extends PHPUnit_Framework_TestCase {
 	public function testStickyDelimiters() {
 		$m = new Mustache(null, array('result' => 'FAIL'));
 		$this->assertEquals('{{ result }}', $m->render('{{=[[ ]]=}}{{ result }}[[={{ }}=]]'));
-		$this->assertEquals('{{ result }}', $m->render('{{=[[ ]]=}}[[#result]]{{ result }}[[/result]]'));
+		$this->assertEquals('{{#result}}{{/result}}', $m->render('{{=[[ ]]=}}{{#result}}{{/result}}[[={{ }}=]]'));
 		$this->assertEquals('{{ result }}', $m->render('{{=[[ ]]=}}[[#result]]{{ result }}[[/result]][[={{ }}=]]'));
 		$this->assertEquals('{{ result }}', $m->render('{{#result}}{{=[[ ]]=}}{{ result }}[[/result]][[^result]][[={{ }}=]][[ result ]]{{/result}}'));
 	}