Aleksander Machniak
2015-06-28 8447bae77c19a2350bd48b0f0c5b3a56a35c7af9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php
 
class Emoticons_Plugin extends PHPUnit_Framework_TestCase
{
 
    function setUp()
    {
        include_once __DIR__ . '/../emoticons.php';
    }
 
    /**
     * Plugin object construction test
     */
    function test_constructor()
    {
        $rcube  = rcube::get_instance();
        $plugin = new emoticons($rcube->api);
 
        $this->assertInstanceOf('emoticons', $plugin);
        $this->assertInstanceOf('rcube_plugin', $plugin);
    }
 
    /**
     * replace() method tests
     */
    function test_replace()
    {
        $rcube  = rcube::get_instance();
        $plugin = new emoticons($rcube->api);
 
        $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) {
            $args = array('type' => 'plain', 'body' => $body);
            $args = $plugin->replace($args);
            $this->assertRegExp('/' . preg_quote($expected[0], '/') . '/', $args['body']);
            $this->assertRegExp('/title="' . preg_quote($expected[1], '/') . '"/', $args['body']);
        }
    }
}