/**
  * @testdox Callbacks can be used to render custom content types
  */
 public function DynamicRendererUsesCallbacks(UnitTester $I)
 {
     require_once __DIR__ . '/Mock/Content.php';
     $renderer = new Renderer(['token' => '*/*'], new Container());
     // Static method
     $renderer->registerContentType('NewContent', [NewContentType::class, 'asHtml']);
     // Dynamic method
     $renderer->registerContentType('OtherContent', 'asHtml');
     // Callable
     $renderer->registerContentType('Default', function (Content $content) {
         return 'default: ' . $content->getContents() . "\n";
     });
     /** @var ContentTypeInterface[] $content */
     $content = array(new ContentType('ContentType'), new NewContentType('NewContentType'), new OtherContentType('OtherContentType'), new UnregisteredContentType('UnregisteredContentType'));
     foreach ($content as $c) {
         $c->accept($renderer);
     }
     $I->assertEquals("standard: ContentType\n" . "static: NewContentType\n" . "dynamic: OtherContentType\n" . "default: UnregisteredContentType\n", $renderer->getContents());
 }
Ejemplo n.º 2
0
 /**
  * @testdox Unknown meta data is set to null
  */
 public function MetadataUnknown(UnitTester $I)
 {
     $renderer = new Renderer(['token' => '*/*'], new Container());
     $meta = $renderer->getMetadata('foo');
     $I->assertEquals(null, $meta);
 }