public function testFacade() { $handlers = new HandlerContainer(); $handlers->add('name', function (ShortcodeInterface $s) { return $s->getName(); })->add('content', function (ShortcodeInterface $s) { return $s->getContent(); })->addAlias('c', 'content')->addAlias('n', 'name'); $facade = ShortcodeFacade::create($handlers, new CommonSyntax()); $this->assertSame('n', $facade->process('[n]')); $this->assertSame('c', $facade->process('[c]c[/c]')); $shortcodes = $facade->parse('[b]'); $this->assertInstanceOf('Thunder\\Shortcode\\Shortcode\\ShortcodeInterface', $shortcodes[0]); $s = new Shortcode('c', array(), null); $this->assertSame('[c /]', $facade->serializeToText($s)); $this->assertSame('c', $facade->unserializeFromText('[c]')->getName()); $json = '{"name":"c","parameters":[],"content":null,"bbCode":null}'; $this->assertSame($json, $facade->serializeToJson($s)); $this->assertSame('c', $facade->unserializeFromJson($json)->getName()); }
/** * Process the shortcodes * * @param string $content the content * @return string */ public function stripShortcodes($content) { $facade = new ShortcodeFacade(); foreach (self::$shortcodes as $tag => $func) { $facade->addHandler($tag, $func); } return $facade->process($content); }
/** * @param string $content * @return string */ public function format($content = '') { return $this->formatter->process($content); }
public function testInvalidUnserializationFormatException() { $this->setExpectedException('InvalidArgumentException'); $facade = new ShortcodeFacade(); $facade->unserialize('[c]', 'invalid'); }