Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Added initial code and UID unit test for the CalendarJournalObject
authorSteve Brokenshire <sbrokenshire@xestia.co.uk>
Sun, 5 Jun 2016 19:34:13 +0000 (20:34 +0100)
committerSteve Brokenshire <sbrokenshire@xestia.co.uk>
Sun, 5 Jun 2016 19:34:13 +0000 (20:34 +0100)
source/objects/calendarjournal/CalendarJournal-Save.cpp [new file with mode: 0644]
source/objects/calendarjournal/CalendarJournal.h
source/tests/xestiacalendar_icaljournalsave.h [new file with mode: 0644]
source/tests/xestiacalendar_test.cpp

diff --git a/source/objects/calendarjournal/CalendarJournal-Save.cpp b/source/objects/calendarjournal/CalendarJournal-Save.cpp
new file mode 100644 (file)
index 0000000..3a3778a
--- /dev/null
@@ -0,0 +1,42 @@
+#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
index d192dfa..180a877 100644 (file)
@@ -10,6 +10,7 @@ class CalendarJournalObject: public CalendarObject{
        private:
        
        void ProcessData();
+       void SaveObjectData(string *SaveData);
        
 };
 
diff --git a/source/tests/xestiacalendar_icaljournalsave.h b/source/tests/xestiacalendar_icaljournalsave.h
new file mode 100644 (file)
index 0000000..08fb513
--- /dev/null
@@ -0,0 +1,50 @@
+// 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
index ff2e58c..35e4a6a 100644 (file)
@@ -28,6 +28,7 @@
 #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"
Xestia Software Development
Yn Maystri
© 2006 - 2019 Xestia Software Development
Software

Xestia Address Book
Xestia Calendar
Development

Xestia Gelforn
Everything else

About
News
Privacy Policy