Exemple #1
0
 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">&lt;munya</hoge>');
     $this->assertEquals((string) Tag::div('<hoge class="fuga">munya</hoge>'), '<div>&lt;hoge class=&quot;fuga&quot;&gt;munya&lt;/hoge&gt;</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);
 }