--- /dev/null
+#include "CalendarJournal.h"
+
+using namespace std;
+
+void CalendarJournalObject::SaveObjectData(string *SaveData){
+
+ string DataLine = "";
+ string DataLineProcessed = "";
+
+ *SaveData += "BEGIN:VJOURNAL\n";
+
+ // Process the UID.
+
+ if (UniqueID.size() > 0){
+
+ if (UniqueIDTokens.size() > 0){
+
+ DataLine += "UID;";
+ DataLine += UniqueIDTokens;
+
+ } else {
+
+ DataLine += "UID";
+
+ }
+
+ DataLine += ":";
+ DataLine += UniqueID;
+ DataLine += "\n";
+
+ DataLineProcessed = OutputText(&DataLine);
+
+ *SaveData += DataLineProcessed;
+
+ DataLine.clear();
+ DataLineProcessed.clear();
+
+ }
+
+ *SaveData += "END:VJOURNAL\n";
+
+}
\ No newline at end of file
--- /dev/null
+// xestiacalendar_icaleventsave.h - Xestia Calendar iCalendar Event Component Save Unit Tests
+//
+// (c) 2016 Xestia Software Development.
+//
+// This file is part of Xestia Calendar.
+//
+// Xestia Address Book is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by the
+// Free Software Foundation, version 3 of the license.
+//
+// Xestia Address Book is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with Xestia Calendar. If not, see <http://www.gnu.org/licenses/>
+
+#include "../objects/calendarjournal/CalendarJournal.h"
+
+TEST(iCalendarSaveJournal, SaveEventTests){
+
+ CalendarJournalObject TestJournal;
+
+ // Load the test journal information.
+
+ ASSERT_EQ(CALENDAROBJECTLOAD_OK, TestJournal.LoadFile("iCalendarJournal-Load1.vcf"));
+ ASSERT_EQ(CALENDAROBJECTVALID_OK, TestJournal.ValidBaseObject());
+
+ ASSERT_EQ(CALENDAROBJECTSAVE_CANNOTOPEN, TestJournal.SaveFile("/stupidfilelocation/dontsavehere.ics"));
+
+ // Save the data to a string and compare the data.
+
+ // First journal file.
+
+ std::string SaveDataComparison = "BEGIN:VCALENDAR\n"
+ "VERSION:2.0\n"
+ "PRODID:-//Xestia//Calendar Unit Testing//KW\n"
+ "BEGIN:VJOURNAL\n"
+ "UID:329128-12939123-123123-13\n"
+ "END:VJOURNAL\n"
+ "END:VCALENDAR";
+
+ std::string SaveData;
+
+ TestJournal.SaveString(&SaveData);
+
+ ASSERT_EQ(SaveDataComparison, SaveData);
+
+}
\ No newline at end of file
#include "xestiacalendar_icaleventsave.h"
#include "xestiacalendar_icaltaskload.h"
#include "xestiacalendar_icaljournalload.h"
+#include "xestiacalendar_icaljournalsave.h"
#include "xestiacalendar_icalfreebusyload.h"
#include "xestiacalendar_icalfreebusysave.h"
#include "xestiacalendar_icaltimezoneload.h"