summaryrefslogtreecommitdiff
path: root/test_files/more_tests.txt
blob: 8f4ec9ac9e21dac3c10df4f3bf79a2e120f7cbdc (plain)
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
Unicode in vCards
.................

>>> import vobject
>>> card = vobject.vCard()
>>> card.add('fn').value = u'Hello\u1234 World!'
>>> card.add('n').value = vobject.vcard.Name('World', u'Hello\u1234')
>>> card.add('adr').value = vobject.vcard.Address(u'5\u1234 Nowhere, Apt 1', 'Berkeley', 'CA', '94704', 'USA')
>>> card
<VCARD| [<ADR{}5? Nowhere, Apt 1\nBerkeley, CA 94704\nUSA>, <FN{}Hello? World!>, <N{} Hello?  World >]>
>>> card.serialize().decode("utf-8")
u'BEGIN:VCARD\r\nVERSION:3.0\r\nADR:;;5\u1234 Nowhere\\, Apt 1;Berkeley;CA;94704;USA\r\nFN:Hello\u1234 World!\r\nN:World;Hello\u1234;;;\r\nEND:VCARD\r\n'
>>> print card.serialize()
BEGIN:VCARD
VERSION:3.0
ADR:;;5ሴ Nowhere\, Apt 1;Berkeley;CA;94704;USA
FN:Helloሴ World!
N:World;Helloሴ;;;
END:VCARD

Unicode in TZID
...............

>>> from pkg_resources import resource_stream
>>> f = resource_stream(__name__, 'test_files/tzid_8bit.ics')
>>> cal = vobject.readOne(f)
>>> print cal.vevent.dtstart.value
2008-05-30 15:00:00+06:00
>>> print cal.vevent.dtstart.serialize()
DTSTART;TZID=Екатеринбург:20080530T150000

Equality in vCards
..................

>>> card.adr.value == vobject.vcard.Address('Just a street')
False
>>> card.adr.value == vobject.vcard.Address(u'5\u1234 Nowhere, Apt 1', 'Berkeley', 'CA', '94704', 'USA')
True

Organization (org)
..................

>>> card.add('org').value = ["Company, Inc.", "main unit", "sub-unit"]
>>> print card.org.serialize()
ORG:Company\, Inc.;main unit;sub-unit


quoted-printable
................

>>> vcf = 'BEGIN:VCARD\nVERSION:2.1\nN;ENCODING=QUOTED-PRINTABLE:;=E9\nFN;ENCODING=QUOTED-PRINTABLE:=E9\nTEL;HOME:0111111111\nEND:VCARD\n\n'
>>> vcf = vobject.readOne(vcf)
>>> vcf.n.value
u';\xe9'
>>> vcf.serialize()
'BEGIN:VCARD\r\nFN:\xc3\xa9\r\nN:;\xc3\xa9\r\nTEL:0111111111\r\nVERSION:2.1\r\nEND:VCARD\r\n'

>>> vcs = 'BEGIN:VCALENDAR\r\nPRODID:-//OpenSync//NONSGML OpenSync vformat 0.3//EN\r\nVERSION:1.0\r\nBEGIN:VEVENT\r\nDESCRIPTION;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:foo =C3=A5=0Abar =C3=A4=\r\n=0Abaz =C3=B6\r\nUID:20080406T152030Z-7822\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n'
>>> vcs = vobject.readOne(vcs, allowQP = True)
>>> vcs.serialize()
'BEGIN:VCALENDAR\r\nPRODID:-//OpenSync//NONSGML OpenSync vformat 0.3//EN\r\nVERSION:1.0\r\nBEGIN:VEVENT\r\nDESCRIPTION:foo \xc3\xa5\nbar \xc3\xa4\nbaz \xc3\xb6\r\nUID:20080406T152030Z-7822\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n'