public function testAddOverriddenSmiley()
 {
     $collection = new EmoticonCollection();
     $emoticon = new Emoticon();
     $emoticon->setSmilies(array(':foo:', ':foofoo:'));
     $emoticon1 = new Emoticon();
     $emoticon1->setSmilies(array(':foo:', ':bar:'));
     $collection->add('foo', $emoticon);
     $collection->add('bar', $emoticon1);
     $this->assertSame(array(':foofoo:', ':foo:', ':bar:'), $collection->getSmilies());
     $this->assertSame($emoticon, $collection->getEmoticonBySmiley(':foofoo:'));
     $this->assertSame($emoticon1, $collection->getEmoticonBySmiley(':foo:'));
     $this->assertSame($emoticon1, $collection->getEmoticonBySmiley(':bar:'));
 }
示例#2
0
 /**
  * Parses emoticons.
  *
  * @param EmoticonCollection $collection
  * @param string             $name
  * @param array              $config
  */
 private function parseEmoticon(EmoticonCollection $collection, $name, $config)
 {
     if (!isset($config['smilies']) || !is_array($config['smilies'])) {
         return;
     }
     $emoticon = new Emoticon();
     $emoticon->setSmilies($config['smilies']);
     if (isset($config['url'])) {
         $emoticon->setUrl($config['url']);
     }
     if (isset($config['html'])) {
         $emoticon->setHtml($config['html']);
     }
     if (isset($config['xHtml'])) {
         $emoticon->setXhtml($config['xHtml']);
     }
     $collection->add($name, $emoticon);
 }