~ubuntu-branches/debian/sid/php-horde-turba/sid

« back to all changes in this revision

Viewing changes to turba-4.1.0/test/Turba/Unit/ExportTest.php

  • Committer: Package Import Robot
  • Author(s): Mathieu Parent
  • Date: 2013-08-11 13:16:25 UTC
  • mfrom: (1.1.4)
  • Revision ID: package-import@ubuntu.com-20130811131625-z91stjvq51jr9onv
Tags: 4.1.1-1
New upstream version 4.1.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<?php
2
 
/**
3
 
 * @author     Jan Schneider <jan@horde.org>
4
 
 * @license    http://www.horde.org/licenses/apache Apache-like
5
 
 * @category   Horde
6
 
 * @package    Turba
7
 
 * @subpackage UnitTests
8
 
 */
9
 
class Turba_Unit_ExportTest extends Turba_TestCase
10
 
{
11
 
    public static function setUpBeforeClass()
12
 
    {
13
 
        self::createBasicTurbaSetup(new Horde_Test_Setup());
14
 
        parent::setUpBeforeClass();
15
 
        setlocale(LC_MESSAGES, 'C');
16
 
    }
17
 
 
18
 
    public static function tearDownAfterClass()
19
 
    {
20
 
        self::tearDownBasicTurbaSetup();
21
 
        parent::tearDownAfterClass();
22
 
        setlocale(LC_MESSAGES, null);
23
 
    }
24
 
 
25
 
    public function setUp()
26
 
    {
27
 
        $this->contact = array(
28
 
            'name' => 'Jan Schneiderö',
29
 
            'namePrefix' => 'Mr.',
30
 
            'firstname' => 'Jan',
31
 
            'middlenames' => 'K.',
32
 
            'lastname' => 'Schneiderö',
33
 
            'email' => 'jan@horde.org',
34
 
            'alias' => 'yunosh',
35
 
            'homeAddress' => 'Schönestr. 15
36
 
33604 Bielefeld',
37
 
            'workStreet' => 'Hübschestr. 19',
38
 
            'workCity' => 'Köln',
39
 
            'workProvince' => 'Allgäu',
40
 
            'workPostalcode' => '33602',
41
 
            'workCountry' => 'DK',
42
 
            'homePhone' => '+49 521 555123',
43
 
            'workPhone' => '+49 521 555456',
44
 
            'cellPhone' => '+49 177 555123',
45
 
            'fax' => '+49 521 555789',
46
 
            'pager' => '+49 123 555789',
47
 
            'birthday' => '1971-10-01',
48
 
            'title' => 'Senior Developer (äöü)',
49
 
            'role' => 'Developer (äöü)',
50
 
            'company' => 'Horde Project',
51
 
            'department' => 'äöü',
52
 
            'notes' => 'A German guy (äöü)',
53
 
            'website' => 'http://janschneider.de',
54
 
            'timezone' => 'Europe/Berlin',
55
 
            'latitude' => '52.516276',
56
 
            'longitude' => '13.377778',
57
 
            'photo' => file_get_contents(__DIR__ . '/../fixtures/az.png'),
58
 
            'phototype' => 'image/png',
59
 
        );
60
 
        $this->driver = new Turba_Driver();
61
 
        $this->object = new Turba_Object($this->driver, $this->contact);
62
 
    }
63
 
 
64
 
    public function testExportVcard21()
65
 
    {
66
 
        $vcard = $this->driver->tovCard($this->object, '2.1');
67
 
        $this->assertEquals(
68
 
'BEGIN:VCARD
69
 
VERSION:2.1
70
 
FN;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:Jan Schneider=C3=B6
71
 
EMAIL;INTERNET:jan@horde.org
72
 
NICKNAME:yunosh
73
 
X-EPOCSECONDNAME:yunosh
74
 
LABEL;HOME;ENCODING=QUOTED-PRINTABLE;CHARSET=UTF-8:Sch=C3=B6nestr. 15=0D=0A=
75
 
 33604 Bielefeld
76
 
TEL;HOME;VOICE:+49 521 555123
77
 
TEL;WORK;VOICE:+49 521 555456
78
 
TEL;CELL;VOICE:+49 177 555123
79
 
TEL;FAX:+49 521 555789
80
 
TEL;PAGER:+49 123 555789
81
 
BDAY:1971-10-01
82
 
TITLE;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:Senior Developer (=C3=A4=C3=B6=C3=BC)
83
 
ROLE;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:Developer (=C3=A4=C3=B6=C3=BC)
84
 
NOTE;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:A German guy (=C3=A4=C3=B6=C3=BC)
85
 
URL:http://janschneider.de
86
 
TZ;VALUE=text:Europe/Berlin
87
 
GEO:13.377778,52.516276
88
 
PHOTO;ENCODING=b;TYPE=image/png:iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJAgMAAACd/+6DAAAACVBMVEW6ABZmZmYAAACMtcxCAAAAAXRSTlMAQObYZgAAABlJREFUeAFjAIMGBiZGAQhmYYFgAUYwBgEAFWYA4dv5cHYAAAAASUVORK5CYII=
89
 
N;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:Schneider=C3=B6;Jan;K.;Mr.;
90
 
ORG;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:Horde Project;=C3=A4=C3=B6=C3=BC
91
 
ADR;HOME;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:;;Sch=C3=B6nestr. 15=0D=0A=
92
 
 33604 Bielefeld;;;;
93
 
ADR;WORK;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:;;H=C3=BCbschestr. 19;K=C3=B6ln;Allg=C3=A4u;;Denmark
94
 
END:VCARD
95
 
',
96
 
            $vcard->exportvCalendar());
97
 
    }
98
 
 
99
 
    public function testExportVcard30()
100
 
    {
101
 
        $vcard = $this->driver->tovCard($this->object, '3.0');
102
 
        $this->assertEquals(
103
 
'BEGIN:VCARD
104
 
VERSION:3.0
105
 
FN:Jan Schneiderö
106
 
EMAIL;TYPE=INTERNET:jan@horde.org
107
 
NICKNAME:yunosh
108
 
X-EPOCSECONDNAME:yunosh
109
 
LABEL;TYPE=HOME:Schönestr. 15\n33604 Bielefeld
110
 
TEL;TYPE=HOME,VOICE:+49 521 555123
111
 
TEL;TYPE=WORK,VOICE:+49 521 555456
112
 
TEL;TYPE=CELL,VOICE:+49 177 555123
113
 
TEL;TYPE=FAX:+49 521 555789
114
 
TEL;TYPE=PAGER:+49 123 555789
115
 
BDAY:1971-10-01
116
 
TITLE:Senior Developer (äöü)
117
 
ROLE:Developer (äöü)
118
 
NOTE:A German guy (äöü)
119
 
URL:http://janschneider.de
120
 
TZ;VALUE=text:Europe/Berlin
121
 
GEO:52.516276;13.377778
122
 
PHOTO;ENCODING=b;TYPE=image/png:iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJAgMAAACd/+6
123
 
 DAAAACVBMVEW6ABZmZmYAAACMtcxCAAAAAXRSTlMAQObYZgAAABlJREFUeAFjAIMGBiZGAQhmYY
124
 
 FgAUYwBgEAFWYA4dv5cHYAAAAASUVORK5CYII=
125
 
N:Schneiderö;Jan;K.;Mr.;
126
 
ORG:Horde Project;äöü
127
 
ADR;TYPE=HOME:;;Schönestr. 15\n33604 Bielefeld;;;;
128
 
ADR;TYPE=WORK:;;Hübschestr. 19;Köln;Allgäu;;Denmark
129
 
END:VCARD
130
 
',
131
 
            $vcard->exportvCalendar());
132
 
    }
133
 
 
134
 
    public function testExportBug9207()
135
 
    {
136
 
        $driver = clone $this->driver;
137
 
        $driver->alternativeName = 'company';
138
 
        $driver->map['name'] = array(
139
 
            'fields' => array('namePrefix', 'firstname', 'middlenames',
140
 
                              'lastname', 'nameSuffix'),
141
 
            'format' => '%s %s %s %s %s');
142
 
        $contact = $this->contact;
143
 
        unset($contact['name']);
144
 
        $object = new Turba_Object($driver, $contact);
145
 
        $vcard = $this->driver->tovCard($object, '3.0');
146
 
        $this->assertEquals(
147
 
'BEGIN:VCARD
148
 
VERSION:3.0
149
 
EMAIL;TYPE=INTERNET:jan@horde.org
150
 
NICKNAME:yunosh
151
 
X-EPOCSECONDNAME:yunosh
152
 
LABEL;TYPE=HOME:Schönestr. 15\n33604 Bielefeld
153
 
TEL;TYPE=HOME,VOICE:+49 521 555123
154
 
TEL;TYPE=WORK,VOICE:+49 521 555456
155
 
TEL;TYPE=CELL,VOICE:+49 177 555123
156
 
TEL;TYPE=FAX:+49 521 555789
157
 
TEL;TYPE=PAGER:+49 123 555789
158
 
BDAY:1971-10-01
159
 
TITLE:Senior Developer (äöü)
160
 
ROLE:Developer (äöü)
161
 
NOTE:A German guy (äöü)
162
 
URL:http://janschneider.de
163
 
TZ;VALUE=text:Europe/Berlin
164
 
GEO:52.516276;13.377778
165
 
PHOTO;ENCODING=b;TYPE=image/png:iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJAgMAAACd/+6
166
 
 DAAAACVBMVEW6ABZmZmYAAACMtcxCAAAAAXRSTlMAQObYZgAAABlJREFUeAFjAIMGBiZGAQhmYY
167
 
 FgAUYwBgEAFWYA4dv5cHYAAAAASUVORK5CYII=
168
 
N:Schneiderö;Jan;K.;Mr.;
169
 
FN:Mr. Jan K. Schneiderö
170
 
ORG:Horde Project;äöü
171
 
ADR;TYPE=HOME:;;Schönestr. 15\n33604 Bielefeld;;;;
172
 
ADR;TYPE=WORK:;;Hübschestr. 19;Köln;Allgäu;;Denmark
173
 
END:VCARD
174
 
',
175
 
            $vcard->exportvCalendar());
176
 
    }
177
 
 
178
 
    public function tearDown()
179
 
    {
180
 
    }
181
 
}