public function testConstruct() { $this->assertEquals(get_class(Tag::a()), 'Primalbase\\Tag\\Tag'); $this->assertEquals((string) Tag::a(), '<a></a>'); $this->assertEquals((string) Tag::create('hoge', array('class' => 'fuga'), 'munya'), '<hoge class="fuga">munya</hoge>'); $this->assertEquals((string) Tag::create('hoge', array('class' => 'fuga'), '<munya'), '<hoge class="fuga"><munya</hoge>'); $this->assertEquals((string) Tag::div('<hoge class="fuga">munya</hoge>'), '<div><hoge class="fuga">munya</hoge></div>'); $this->assertEquals((string) Tag::div(array('class' => 'span12')), '<div class="span12"></div>'); $this->assertEquals((string) Tag::div(array('class' => 'span12'), 'test', Tag::span("inner")), '<div class="span12">test<span>inner</span></div>'); $this->assertEquals((string) Tag::createInstanceArray('div', array(array('class' => 'span9'), 'array contents.')), '<div class="span9">array contents.</div>'); }
public static function __callStatic($tagName, array $args) { if (!static::$configurationsAll) { foreach (static::$library as $lib) { $configurations = $lib::getFormatConfigurations(); foreach ($configurations as $config) { foreach (static::$configurationsAll as $_config) { if ($config['prefix'] == $_config['prefix']) { trigger_error('Duplicate configuration key. "' . $config['prefix'] . "'", E_USER_WARNING); } } } static::$configurationsAll = array_merge(static::$configurationsAll, $configurations); } } foreach (static::$configurationsAll as $config) { if ($config['regexp']) { if (preg_match('/^' . $config['prefix'] . $config['regexp'] . '/', $tagName)) { return $config['class']::build($tagName, $config, $args); } } elseif (strpos($tagName, $config['prefix']) === 0) { return $config['class']::build($tagName, $config, $args); } } return parent::createInstanceArray($tagName, $args); }