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:')); }
/** * 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); }