40 lines
		
	
	
		
			914 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			914 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
namespace nur\data\template;
 | 
						|
 | 
						|
use nur\b\io\StringWriter;
 | 
						|
use PHPUnit\Framework\TestCase;
 | 
						|
 | 
						|
class StreamTemplateTest extends TestCase {
 | 
						|
  function testApply() {
 | 
						|
    $sw = new StringWriter();
 | 
						|
    $t = new MyTemplate($sw);
 | 
						|
    $t["texte"] = "truc";
 | 
						|
    $t->apply();
 | 
						|
    self::assertSame(
 | 
						|
      "Ceci est un TEST de truc\nqui bouge pas _et_ qui bouge\n",
 | 
						|
      $sw->getString()
 | 
						|
    );
 | 
						|
    $t["texte"] = "machin";
 | 
						|
    $t->apply();
 | 
						|
    self::assertSame(
 | 
						|
      "Ceci est un TEST de machin\nqui bouge pas _et_ qui bouge\n",
 | 
						|
      $sw->getString()
 | 
						|
    );
 | 
						|
  }
 | 
						|
}
 | 
						|
class MyTemplate extends StreamTemplate {
 | 
						|
  const INPUT = __DIR__ . "/StreamTemplateTest.txt";
 | 
						|
  const EXPRS = [
 | 
						|
    "TEXTE" => "texte",
 | 
						|
    "statique" => "::get_statique",
 | 
						|
    "dynamique" => "->getDynamique",
 | 
						|
  ];
 | 
						|
 | 
						|
  static function get_statique(): string {
 | 
						|
    return "qui bouge pas";
 | 
						|
  }
 | 
						|
  function getDynamique(): string {
 | 
						|
    return "qui bouge";
 | 
						|
  }
 | 
						|
}
 |