mirror of
https://github.com/moparisthebest/davmail
synced 2025-02-28 17:31:52 -05:00
Caldav: Fix Bug 2783595, allow empty lines in ICS content
git-svn-id: http://svn.code.sf.net/p/davmail/code/trunk@549 3d1905a2-6b24-0410-a738-b14d5a86fcbd
This commit is contained in:
parent
bc189effb3
commit
711f750c51
@ -19,8 +19,7 @@ public class ICSBufferedReader extends BufferedReader {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String readLine() throws IOException {
|
public String readLine() throws IOException {
|
||||||
// empty line means end of ICS
|
if (nextLine == null) {
|
||||||
if (nextLine == null || nextLine.length() == 0) {
|
|
||||||
return null;
|
return null;
|
||||||
} else {
|
} else {
|
||||||
currentLine.setLength(0);
|
currentLine.setLength(0);
|
||||||
|
@ -25,4 +25,58 @@ public class TestICSBufferedReader extends TestCase {
|
|||||||
assertEquals("multilinestring", reader.readLine());
|
assertEquals("multilinestring", reader.readLine());
|
||||||
assertNull(reader.readLine());
|
assertNull(reader.readLine());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void testEventWithEmptyLine() throws IOException {
|
||||||
|
String value = "BEGIN:VCALENDAR\n" +
|
||||||
|
"CALSCALE:GREGORIAN\n" +
|
||||||
|
"METHOD:REQUEST\n" +
|
||||||
|
"PRODID:Microsoft CDO for Microsoft Exchange\n" +
|
||||||
|
"VERSION:2.0\n" +
|
||||||
|
"BEGIN:VTIMEZONE\n" +
|
||||||
|
"TZID:Africa/Lagos\n" +
|
||||||
|
"X-MICROSOFT-CDO-TZID:69\n" +
|
||||||
|
"BEGIN:STANDARD\n" +
|
||||||
|
"DTSTART:16010101T000000\n" +
|
||||||
|
"TZOFFSETFROM:+0100\n" +
|
||||||
|
"TZOFFSETTO:+0100\n" +
|
||||||
|
"END:STANDARD\n" +
|
||||||
|
"BEGIN:DAYLIGHT\n" +
|
||||||
|
"DTSTART:16010101T000000\n" +
|
||||||
|
"TZOFFSETFROM:+0100\n" +
|
||||||
|
"TZOFFSETTO:+0100\n" +
|
||||||
|
"END:DAYLIGHT\n" +
|
||||||
|
"END:VTIMEZONE\n" +
|
||||||
|
"BEGIN:VEVENT\n" +
|
||||||
|
"DTSTART;TZID=\"Africa/Lagos\":20070326T070000\n" +
|
||||||
|
"DTEND;TZID=\"Africa/Lagos\":20070326T083000\n" +
|
||||||
|
"DTSTAMP:20070217T231150Z\n" +
|
||||||
|
"SUMMARY:My meeting\n" +
|
||||||
|
"CATEGORIES:Groupcal,iCal:user\n" +
|
||||||
|
"UID:com.apple.syncservices:5C1BCD60-8C8E-4FCE-B2CA-C99DE0BE81EB\n" +
|
||||||
|
"RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=MO,TU,FR\n" +
|
||||||
|
"ORGANIZER:MAILTO:user@domain\n" +
|
||||||
|
"\n" +
|
||||||
|
"X-GROUPCAL-ALARM:PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0\n" +
|
||||||
|
"NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUgQ29tcHV0ZXIvL0RURCBQTElTVCAxLjAvL0VOI\n" +
|
||||||
|
"iAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+CjxwbGlz\n" +
|
||||||
|
"dCB2ZXJzaW9uPSIxLjAiPgo8YXJyYXkvPgo8L3BsaXN0Pgo=\n" +
|
||||||
|
"CLASS:\n" +
|
||||||
|
"STATUS:TENTATIVE\n" +
|
||||||
|
"TRANSP:OPAQUE\n" +
|
||||||
|
"X-MICROSOFT-CDO-BUSYSTATUS:OOF\n" +
|
||||||
|
"X-MICROSOFT-CDO-INSTTYPE:1\n" +
|
||||||
|
"X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY\n" +
|
||||||
|
"X-MICROSOFT-CDO-ALLDAYEVENT:FALSE\n" +
|
||||||
|
"X-MICROSOFT-CDO-IMPORTANCE:1\n" +
|
||||||
|
"X-MICROSOFT-CDO-OWNERAPPTID:-1\n" +
|
||||||
|
"END:VEVENT\n" +
|
||||||
|
"END:VCALENDAR";
|
||||||
|
ICSBufferedReader reader = new ICSBufferedReader(new StringReader(value));
|
||||||
|
String line;
|
||||||
|
String lastLine = null;
|
||||||
|
while ((line =reader.readLine())!= null) {
|
||||||
|
lastLine = line;
|
||||||
|
}
|
||||||
|
assertEquals("END:VCALENDAR", lastLine);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user