/**
  * text2icons() method tests
  */
 function test_text2icons()
 {
     $map = array(':D' => array('smiley-laughing.gif', ':D'), ':-D' => array('smiley-laughing.gif', ':-D'), ':(' => array('smiley-frown.gif', ':('), ':-(' => array('smiley-frown.gif', ':-('), '8)' => array('smiley-cool.gif', '8)'), '8-)' => array('smiley-cool.gif', '8-)'), ':O' => array('smiley-surprised.gif', ':O'), ':-O' => array('smiley-surprised.gif', ':-O'), ':P' => array('smiley-tongue-out.gif', ':P'), ':-P' => array('smiley-tongue-out.gif', ':-P'), ':@' => array('smiley-yell.gif', ':@'), ':-@' => array('smiley-yell.gif', ':-@'), 'O:)' => array('smiley-innocent.gif', 'O:)'), 'O:-)' => array('smiley-innocent.gif', 'O:-)'), ':)' => array('smiley-smile.gif', ':)'), ':-)' => array('smiley-smile.gif', ':-)'), ':$' => array('smiley-embarassed.gif', ':$'), ':-$' => array('smiley-embarassed.gif', ':-$'), ':*' => array('smiley-kiss.gif', ':*'), ':-*' => array('smiley-kiss.gif', ':-*'), ':S' => array('smiley-undecided.gif', ':S'), ':-S' => array('smiley-undecided.gif', ':-S'));
     foreach ($map as $body => $expected) {
         $result = emoticons_engine::text2icons($body);
         $this->assertRegExp('/' . preg_quote($expected[0], '/') . '/', $result);
         $this->assertRegExp('/title="' . preg_quote($expected[1], '/') . '"/', $result);
     }
 }
 /**
  * 'html2text' hook handler to replace image emoticons from TinyMCE
  * editor with plain text emoticons.
  *
  * This is executed on html2text action, i.e. when switching from HTML to text
  * in compose window (or similiar place). Also when generating alternative
  * text/plain part.
  */
 function html2text($args)
 {
     $rcube = rcube::get_instance();
     if ($rcube->action == 'html2text' || $rcube->action == 'send') {
         $this->load_config();
         if (!$rcube->config->get('emoticons_compose', true)) {
             return $args;
         }
         require_once __DIR__ . '/emoticons_engine.php';
         $args['body'] = emoticons_engine::icons2text($args['body']);
     }
     return $args;
 }