command line: fixed --export <file name>

When exporting items into a file, the delimiter between items
was missing.

Also adding a test case for this.
This commit is contained in:
Patrick Ohly 2012-08-02 13:58:20 +02:00
parent fecf9e03cf
commit 32f6f492c0
5 changed files with 379 additions and 1 deletions

View File

@ -1521,7 +1521,7 @@ bool Cmdline::run() {
haveNewline = true;
} else {
// write to file
*out << item;
*out << delimiter << item;
haveNewline = boost::ends_with(item, "\n");
}
haveItem = true;

View File

@ -0,0 +1,32 @@
master:
testConcurrency (__main__.TestLocalSync)
TestLocalSync.testConcurrency - D-Bus server must remain responsive while sync runs ... ok
----------------------------------------------------------------------
Ran 1 test in 7.814s
$ cat temp-test-dbus/cache/syncevolution/server-2012-01-21-20-44/status.ini
status = 20017
start = 1327175092, 2012-01-21 20:44:52 +0100
end = 1327175094, 2012-01-21 20:44:54 +0100
source-addressbook-mode = disabled
source-addressbook-first = false
source-addressbook-resume = false
source-addressbook-status = 0
source-addressbook-backup-before = -1
source-addressbook-backup-after = -1
[2012-01-21 20:44:52.365] parent: read select on message channel 0.000000000s
[2012-01-21 20:44:54.111] quit transport as requested as part of GLib event loop
[2012-01-21 20:44:54.111] aborting after TransportAgent::FAILED as requested by user
=> source not active, no error in it
=> abort detected in loop, not in transport
for-master/fork-local-sync:
sync *runs* ?!

View File

@ -6776,6 +6776,13 @@ END:VCARD
self.assertNoErrors(err)
self.assertEqualDiff(john + "\n" + joan, out)
# export all into file
exportfile = xdg_root + "/export.vcf"
out, err, code = self.runCmdline(["--export", exportfile,
"foo", "bar"])
self.assertNoErrors(err)
self.assertEqualDiff(john + "\n" + joan, open(exportfile).read())
# export one
out, err, code = self.runCmdline(["--export", "-",
"backend=file",
@ -6791,6 +6798,13 @@ END:VCARD
self.assertNoErrors(err)
self.assertEqualDiff(john, out)
# export one into file
exportfile = xdg_root + "/export.vcf"
out, err, code = self.runCmdline(["--export", exportfile,
"foo", "bar", "1"])
self.assertNoErrors(err)
self.assertEqualDiff(john, open(exportfile).read())
# Copied from C++ test:
# TODO: check configuration of just the source as @foo bar
# without peer

View File

@ -0,0 +1,223 @@
@@ -2,19 +2,16 @@
PRODID:-//Ximian//NONSGML Evolution Calendar//EN
VERSION:2.0
BEGIN:VTIMEZONE
-TZID:/softwarestudio.org/Olson_20011030_5/Europe/Berlin
-X-LIC-LOCATION:Europe/Berlin
+TZID:Standard Timezone
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
-TZNAME:CEST
DTSTART:19700329T020000
RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=3
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
-TZNAME:CET
DTSTART:19701025T030000
RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=10
END:STANDARD
@@ -23,9 +20,9 @@
SUMMARY:phone meeting
DESCRIPTION:let's talk
CATEGORIES:MEETING
-DTEND;TZID=/softwarestudio.org/Olson_20011030_5/Europe/Berlin:
+DTEND;TZID=Standard Timezone:
20060406T163000
-DTSTART;TZID=/softwarestudio.org/Olson_20011030_5/Europe/Berlin:
+DTSTART;TZID=Standard Timezone:
20060406T160000
UID:20060406T211449Z-4562-727-1-63@gollum
DTSTAMP:20060406T211449Z
@@ -35,6 +32,7 @@
CLASS:PUBLIC
TRANSP:OPAQUE
SEQUENCE:1
+RRULE:FREQ=DAILY;INTERVAL=1
END:VEVENT
END:VCALENDAR
@@ -53,7 +51,7 @@
CLASS:PUBLIC
CREATED:20060416T203724Z
LAST-MODIFIED:20060416T203758Z
-RRULE:FREQ=WEEKLY;UNTIL=20060427T173000Z;INTERVAL=1;BYDAY=TH
+RRULE:FREQ=WEEKLY;UNTIL=20060427T170000Z;INTERVAL=1;BYDAY=TH
END:VEVENT
END:VCALENDAR
@@ -90,7 +88,7 @@
CLASS:PUBLIC
CREATED:20060416T203924Z
LAST-MODIFIED:20060416T203949Z
-RRULE:FREQ=MONTHLY;INTERVAL=1;UNTIL=20060606T173000Z
+RRULE:BYMONTHDAY=6;FREQ=MONTHLY;INTERVAL=1;UNTIL=20060606T173000Z
END:VEVENT
END:VCALENDAR
@@ -106,7 +104,7 @@
SEQUENCE:2
SUMMARY:recurrence\, yearly\, two times
CLASS:PUBLIC
-RRULE:FREQ=YEARLY;INTERVAL=1;UNTIL=20070406T180000Z
+RRULE:BYMONTH=4;BYMONTHDAY=6;FREQ=YEARLY;INTERVAL=1;UNTIL=20070406T180000Z
CREATED:20060416T204021Z
LAST-MODIFIED:20060416T204021Z
END:VEVENT
@@ -193,11 +191,28 @@
BEGIN:VCALENDAR
PRODID:-//Ximian//NONSGML Evolution Calendar//EN
VERSION:2.0
+BEGIN:VTIMEZONE
+TZID:(UTC-05:00) Eastern Time (US & C
+BEGIN:STANDARD
+DTSTART:19701101T020000
+RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=11
+TZOFFSETFROM:-0400
+TZOFFSETTO:-0500
+TZNAME:(UTC-05:00) Eastern Time (US & C
+END:STANDARD
+BEGIN:DAYLIGHT
+DTSTART:19700308T020000
+RRULE:FREQ=YEARLY;BYDAY=2SU;BYMONTH=3
+TZOFFSETFROM:-0500
+TZOFFSETTO:-0400
+TZNAME:(UTC-05:00) Eastern Time (US & C
+END:DAYLIGHT
+END:VTIMEZONE
BEGIN:VEVENT
UID:20060416T204136Z-4272-727-1-247@gollum
DTSTAMP:20060416T204136Z
-DTSTART:20060406T190000Z
-DTEND:20060406T193000Z
+DTSTART;TZID="(UTC-05:00) Eastern Time (US & C":20060406T150000
+DTEND;TZID="(UTC-05:00) Eastern Time (US & C":20060406T153000
TRANSP:TRANSPARENT
SEQUENCE:4
SUMMARY:all fields
@@ -218,7 +233,7 @@
BEGIN:VALARM
X-EVOLUTION-ALARM-UID:20060416T204833Z-4250-727-1-85@gollum
ACTION:DISPLAY
-DESCRIPTION:This is an event reminder
+DESCRIPTION:Reminder
TRIGGER;VALUE=DURATION;RELATED=START:-PT1H
END:VALARM
END:VEVENT
@@ -228,29 +243,6 @@
PRODID:-//Ximian//NONSGML Evolution Calendar//EN
VERSION:2.0
BEGIN:VEVENT
-UID:20060416T204922Z-4272-727-1-250@gollum
-DTSTAMP:20060416T204922Z
-DTSTART:20060406T193000Z
-DTEND:20060406T200000Z
-TRANSP:OPAQUE
-SEQUENCE:2
-CATEGORIES:BUSINESS,MEETING
-SUMMARY:meeting invitation
-CLASS:PUBLIC
-ORGANIZER;CN=Patrick Ohly:MAILTO:Patrick.Ohly@gmx.de
-ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;
- RSVP=TRUE;CN=Patrick Ohly;LANGUAGE=en:MAILTO:Patrick.Ohly@gmx.de
-ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;
- RSVP=TRUE;LANGUAGE=en:MAILTO:john@bar.com
-CREATED:20060416T205003Z
-LAST-MODIFIED:20060416T205003Z
-END:VEVENT
-END:VCALENDAR
-
-BEGIN:VCALENDAR
-PRODID:-//Ximian//NONSGML Evolution Calendar//EN
-VERSION:2.0
-BEGIN:VEVENT
UID:20080407T193125Z-19554-727-1-50@gollum
DTSTAMP:20080407T193125Z
DTSTART:20080406T090000Z
@@ -260,7 +252,7 @@
SUMMARY:Recurring
DESCRIPTION:recurs each Sonday\, 10 times
CLASS:PUBLIC
-RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=SU;UNTIL=20080608T090000Z
+RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=SU;COUNT=10
CREATED:20080407T193241Z
LAST-MODIFIED:20080407T193241
END:VEVENT
@@ -341,75 +333,3 @@
DESCRIPTION:second instance modified\, single detached recurrence
END:VEVENT
END:VCALENDAR
-
-BEGIN:VCALENDAR
-PRODID:-//Ximian//NONSGML Evolution Calendar//EN
-VERSION:2.0
-BEGIN:VEVENT
-UID:20080407T193125Z-19554-727-1-50-YY@gollum
-DTSTAMP:20080407T193125Z
-DTSTART:20080413T090000Z
-DTEND:20080413T093000Z
-TRANSP:OPAQUE
-SEQUENCE:7
-SUMMARY:Recurring 3: Modified
-CLASS:PUBLIC
-CREATED:20080407T193241Z
-LAST-MODIFIED:20080407T193647
-RECURRENCE-ID:20080413T090000Z
-DESCRIPTION:second instance modified
-END:VEVENT
-END:VCALENDAR
-
-BEGIN:VCALENDAR
-PRODID:-//Ximian//NONSGML Evolution Calendar//EN
-VERSION:2.0
-BEGIN:VEVENT
-UID:20080407T193125Z-19554-727-1-50-YY@gollum
-DTSTAMP:20080407T193125Z
-DTSTART:20080420T100000Z
-DTEND:20080420T103000Z
-TRANSP:OPAQUE
-SEQUENCE:7
-SUMMARY:Recurring 3: Modified II
-CLASS:PUBLIC
-CREATED:20080407T193241Z
-LAST-MODIFIED:20080407T193647
-RECURRENCE-ID:20080420T090000Z
-DESCRIPTION:third instance modified\, different time
-END:VEVENT
-END:VCALENDAR
-
-BEGIN:VCALENDAR
-PRODID:-//Ximian//NONSGML Evolution Calendar//EN
-VERSION:2.0
-BEGIN:VTIMEZONE
-TZID:EST/EDT
-BEGIN:STANDARD
-TZOFFSETFROM:-0400
-TZOFFSETTO:-0500
-TZNAME:EST
-DTSTART:19671029T020000
-RRULE:FREQ=MONTHLY;INTERVAL=12;BYDAY=-1SU
-END:STANDARD
-BEGIN:DAYLIGHT
-TZOFFSETFROM:-0500
-TZOFFSETTO:-0400
-TZNAME:EDT
-DTSTART:19870405T020000
-RRULE:FREQ=MONTHLY;INTERVAL=12;BYDAY=1SU
-END:DAYLIGHT
-END:VTIMEZONE
-BEGIN:VEVENT
-UID:20060416T205224Z-4272-727-1-251@gollum
-DTSTAMP:20060416T205224Z
-DTSTART;TZID=EST/EDT:20060406T140000
-DTEND;TZID=EST/EDT:20060406T143000
-TRANSP:OPAQUE
-SEQUENCE:2
-SUMMARY:timezone New York with custom definition for 2006
-CLASS:PUBLIC
-CREATED:20060416T205301Z
-LAST-MODIFIED:20060416T205301Z
-END:VEVENT
-END:VCALENDAR

View File

@ -0,0 +1,109 @@
@@ -270,44 +270,6 @@
PRODID:-//Ximian//NONSGML Evolution Calendar//EN
VERSION:2.0
BEGIN:VEVENT
-UID:20080407T193125Z-19554-727-1-50@gollum
-DTSTAMP:20080407T193125Z
-DTSTART:20080413T090000Z
-DTEND:20080413T093000Z
-TRANSP:OPAQUE
-SEQUENCE:7
-SUMMARY:Recurring: Modified
-CLASS:PUBLIC
-CREATED:20080407T193241Z
-LAST-MODIFIED:20080407T193647
-RECURRENCE-ID:20080413T090000Z
-DESCRIPTION:second instance modified
-END:VEVENT
-END:VCALENDAR
-
-BEGIN:VCALENDAR
-PRODID:-//Ximian//NONSGML Evolution Calendar//EN
-VERSION:2.0
-BEGIN:VEVENT
-UID:20080407T193125Z-19554-727-1-50@gollum
-DTSTAMP:20080407T193125Z
-DTSTART:20080420T100000Z
-DTEND:20080420T103000Z
-TRANSP:OPAQUE
-SEQUENCE:7
-SUMMARY:Recurring: Modified II
-CLASS:PUBLIC
-CREATED:20080407T193241Z
-LAST-MODIFIED:20080407T193647
-RECURRENCE-ID:20080420T090000Z
-DESCRIPTION:third instance modified\, different time
-END:VEVENT
-END:VCALENDAR
-
-BEGIN:VCALENDAR
-PRODID:-//Ximian//NONSGML Evolution Calendar//EN
-VERSION:2.0
-BEGIN:VEVENT
UID:20080407T193125Z-19554-727-1-50-XX@gollum
DTSTAMP:20080407T193125Z
DTSTART:20080406T090000Z
@@ -323,63 +285,6 @@
END:VEVENT
END:VCALENDAR
-BEGIN:VCALENDAR
-PRODID:-//Ximian//NONSGML Evolution Calendar//EN
-VERSION:2.0
-BEGIN:VEVENT
-UID:20080407T193125Z-19554-727-1-50-XX@gollum
-DTSTAMP:20080407T193125Z
-DTSTART:20080413T090000Z
-DTEND:20080413T093000Z
-TRANSP:OPAQUE
-SEQUENCE:7
-SUMMARY:Recurring 2: Modified
-CLASS:PUBLIC
-CREATED:20080407T193241Z
-LAST-MODIFIED:20080407T193647
-RECURRENCE-ID:20080413T090000Z
-DESCRIPTION:second instance modified\, single detached recurrence
-END:VEVENT
-END:VCALENDAR
-
-BEGIN:VCALENDAR
-PRODID:-//Ximian//NONSGML Evolution Calendar//EN
-VERSION:2.0
-BEGIN:VEVENT
-UID:20080407T193125Z-19554-727-1-50-YY@gollum
-DTSTAMP:20080407T193125Z
-DTSTART:20080413T090000Z
-DTEND:20080413T093000Z
-TRANSP:OPAQUE
-SEQUENCE:7
-SUMMARY:Recurring 3: Modified
-CLASS:PUBLIC
-CREATED:20080407T193241Z
-LAST-MODIFIED:20080407T193647
-RECURRENCE-ID:20080413T090000Z
-DESCRIPTION:second instance modified
-END:VEVENT
-END:VCALENDAR
-
-BEGIN:VCALENDAR
-PRODID:-//Ximian//NONSGML Evolution Calendar//EN
-VERSION:2.0
-BEGIN:VEVENT
-UID:20080407T193125Z-19554-727-1-50-YY@gollum
-DTSTAMP:20080407T193125Z
-DTSTART:20080420T100000Z
-DTEND:20080420T103000Z
-TRANSP:OPAQUE
-SEQUENCE:7
-SUMMARY:Recurring 3: Modified II
-CLASS:PUBLIC
-CREATED:20080407T193241Z
-LAST-MODIFIED:20080407T193647
-RECURRENCE-ID:20080420T090000Z
-DESCRIPTION:third instance modified\, different time
-END:VEVENT
-END:VCALENDAR
-
BEGIN:VCALENDAR
PRODID:-//Ximian//NONSGML Evolution Calendar//EN
VERSION:2.0