From ffcd9121f4cc72086fb7588aa16055c52c87ca3a Mon Sep 17 00:00:00 2001 From: Steve Brokenshire Date: Sun, 31 Jan 2016 14:11:27 +0000 Subject: [PATCH 01/16] Corrected filter for iCalendar Journal tests to iCalendarJournal. --- source/tests/xestiacalendar_test.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/tests/xestiacalendar_test.cpp b/source/tests/xestiacalendar_test.cpp index c8aad78..b5298a1 100644 --- a/source/tests/xestiacalendar_test.cpp +++ b/source/tests/xestiacalendar_test.cpp @@ -112,7 +112,7 @@ int main(int argc, char* argv[]){ break; case TESTS_ICALLOADJOURNAL: printn("Running iCalendar Journal Component tests..."); - ::testing::GTEST_FLAG(filter) = "iCalendarTask*"; + ::testing::GTEST_FLAG(filter) = "iCalendarJournal*"; TestResult = RUN_ALL_TESTS(); break; case TESTS_COMMONFUNCTIONS: -- 2.39.2 From 9eba98dde82c9cf3520b6471db94f50f44fdf020 Mon Sep 17 00:00:00 2001 From: Steve Brokenshire Date: Sun, 31 Jan 2016 14:11:45 +0000 Subject: [PATCH 02/16] Added initial unit tests for iCalendarJournal. --- source/tests/xestiacalendar_icaljournalload.h | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 source/tests/xestiacalendar_icaljournalload.h diff --git a/source/tests/xestiacalendar_icaljournalload.h b/source/tests/xestiacalendar_icaljournalload.h new file mode 100644 index 0000000..d28cdf2 --- /dev/null +++ b/source/tests/xestiacalendar_icaljournalload.h @@ -0,0 +1,29 @@ +// xestiacalendar_icaleventload.h - Xestia Calendar iCalendar Journal Component 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 + +#include "../objects/calendarjournal/CalendarJournal.h" + +TEST(iCalendarJournal, BasicTests){ + + CalendarJournalObject TestEvent; + + ASSERT_EQ(CALENDAROBJECTLOAD_MISSING, TestEvent.LoadFile("iCalendarJournal-Missing.vcf")); + ASSERT_EQ(CALENDAROBJECTLOAD_CANNOTOPEN, TestEvent.LoadFile("iCalendarJournal-InvalidPermissions.vcf")); + ASSERT_EQ(CALENDAROBJECTLOAD_OK, TestEvent.LoadFile("iCalendarJournal-Load1.vcf")); + +} \ No newline at end of file -- 2.39.2 From cf7e25e6532e1a53b2591aaf899eb305a6c0268b Mon Sep 17 00:00:00 2001 From: Steve Brokenshire Date: Sun, 31 Jan 2016 14:20:41 +0000 Subject: [PATCH 03/16] Added unit tests for DTSTAMP in iCalendarJournal/ObjectDataTests. --- source/tests/xestiacalendar_icaljournalload.h | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/source/tests/xestiacalendar_icaljournalload.h b/source/tests/xestiacalendar_icaljournalload.h index d28cdf2..9c06acc 100644 --- a/source/tests/xestiacalendar_icaljournalload.h +++ b/source/tests/xestiacalendar_icaljournalload.h @@ -20,10 +20,23 @@ TEST(iCalendarJournal, BasicTests){ - CalendarJournalObject TestEvent; + CalendarJournalObject TestJournal; - ASSERT_EQ(CALENDAROBJECTLOAD_MISSING, TestEvent.LoadFile("iCalendarJournal-Missing.vcf")); - ASSERT_EQ(CALENDAROBJECTLOAD_CANNOTOPEN, TestEvent.LoadFile("iCalendarJournal-InvalidPermissions.vcf")); - ASSERT_EQ(CALENDAROBJECTLOAD_OK, TestEvent.LoadFile("iCalendarJournal-Load1.vcf")); + ASSERT_EQ(CALENDAROBJECTLOAD_MISSING, TestJournal.LoadFile("iCalendarJournal-Missing.vcf")); + ASSERT_EQ(CALENDAROBJECTLOAD_CANNOTOPEN, TestJournal.LoadFile("iCalendarJournal-InvalidPermissions.vcf")); + ASSERT_EQ(CALENDAROBJECTLOAD_OK, TestJournal.LoadFile("iCalendarJournal-Load1.vcf")); + +} + +TEST(iCalendarJournal, ObjectDataTests){ + + CalendarEventObject TestJournal; + ASSERT_EQ(CALENDAROBJECTLOAD_OK, TestJournal.LoadFile("iCalendarEvent-Load2.vcf")); + ASSERT_EQ(CALENDAROBJECTVALID_OK, TestJournal.ValidBaseObject()); + + // Tests for DTSTAMP. + + ASSERT_EQ("20160122T124100Z", TestJournal.DateTimeStampData); + ASSERT_EQ("OTHER=PARAM", TestJournal.DateTimeStampTokens); } \ No newline at end of file -- 2.39.2 From 15677c035d713111ceeac94ced55181bdeba6118 Mon Sep 17 00:00:00 2001 From: Steve Brokenshire Date: Sun, 31 Jan 2016 14:20:58 +0000 Subject: [PATCH 04/16] Added code to process the DTSTAMP property in CalendarJournalObject. --- .../calendarjournal/CalendarJournal.cpp | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/source/objects/calendarjournal/CalendarJournal.cpp b/source/objects/calendarjournal/CalendarJournal.cpp index f3c66c7..d5bf6fa 100644 --- a/source/objects/calendarjournal/CalendarJournal.cpp +++ b/source/objects/calendarjournal/CalendarJournal.cpp @@ -144,5 +144,25 @@ void CalendarJournalObject::ProcessData(){ map PropertyData; string *PropertyNameData = nullptr; int ObjectSeekCount = 0; + + // Get the Date Time Stamp (DTSTAMP). + + DataReceived = ProcessTextVectors(&ObjectName, &ObjectData, false, "DTSTAMP"); + + // Process the data from DTSTAMP. + + if (DataReceived.begin() != DataReceived.end()){ + + try { + DateTimeStampTokens = DataReceived.begin()->first.substr(8); + } + + catch(const out_of_range &oor){ + // Do nothing as there is no data. + } + + DateTimeStampData = DataReceived.begin()->second; + + } } \ No newline at end of file -- 2.39.2 From 0892119aa5844075957e4b9c6dffacffae91fdbf Mon Sep 17 00:00:00 2001 From: Steve Brokenshire Date: Sun, 31 Jan 2016 14:21:16 +0000 Subject: [PATCH 05/16] Added the tests/iCalendarJournal-Load2.vcf --- source/tests/iCalendarJournal-Load2.vcf | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 source/tests/iCalendarJournal-Load2.vcf diff --git a/source/tests/iCalendarJournal-Load2.vcf b/source/tests/iCalendarJournal-Load2.vcf new file mode 100644 index 0000000..a28c0f8 --- /dev/null +++ b/source/tests/iCalendarJournal-Load2.vcf @@ -0,0 +1,7 @@ +BEGIN:VCALENDAR +VERSION:2.0 +BEGIN:VJOURNAL +DTSTAMP;OTHER=PARAM:20160131T141500Z +UID;UNIQUEPARAM=CERTAINLY;OKAY=MAYBENOT:b3a16392-ad86-4061-be53-c215af2306c1 +END:VJOURNAL +END:VCALENDAR \ No newline at end of file -- 2.39.2 From 8e317588956b3092b3fa07dbd7b2bd36260adc38 Mon Sep 17 00:00:00 2001 From: Steve Brokenshire Date: Sun, 31 Jan 2016 14:29:41 +0000 Subject: [PATCH 06/16] Added code to process the UID property in CalendarJournalObject. --- .../calendarjournal/CalendarJournal.cpp | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/source/objects/calendarjournal/CalendarJournal.cpp b/source/objects/calendarjournal/CalendarJournal.cpp index d5bf6fa..92dce67 100644 --- a/source/objects/calendarjournal/CalendarJournal.cpp +++ b/source/objects/calendarjournal/CalendarJournal.cpp @@ -165,4 +165,24 @@ void CalendarJournalObject::ProcessData(){ } + // Get the Unique ID (UID). + + DataReceived = ProcessTextVectors(&ObjectName, &ObjectData, false, "UID"); + + // Process the data from UID. + + if (DataReceived.begin() != DataReceived.end()){ + + try { + UniqueIDTokens = DataReceived.begin()->first.substr(4); + } + + catch(const out_of_range &oor){ + // Do nothing as there is no data. + } + + UniqueID = DataReceived.begin()->second; + + } + } \ No newline at end of file -- 2.39.2 From 1913a598a271d676b240bc2d5cc79e2a178be08e Mon Sep 17 00:00:00 2001 From: Steve Brokenshire Date: Sun, 31 Jan 2016 14:31:26 +0000 Subject: [PATCH 07/16] Added unit tests for UID in iCalendarJournal/ObjectDataTests. --- source/tests/xestiacalendar_icaljournalload.h | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/source/tests/xestiacalendar_icaljournalload.h b/source/tests/xestiacalendar_icaljournalload.h index 9c06acc..c9284a2 100644 --- a/source/tests/xestiacalendar_icaljournalload.h +++ b/source/tests/xestiacalendar_icaljournalload.h @@ -30,13 +30,18 @@ TEST(iCalendarJournal, BasicTests){ TEST(iCalendarJournal, ObjectDataTests){ - CalendarEventObject TestJournal; - ASSERT_EQ(CALENDAROBJECTLOAD_OK, TestJournal.LoadFile("iCalendarEvent-Load2.vcf")); + CalendarJournalObject TestJournal; + ASSERT_EQ(CALENDAROBJECTLOAD_OK, TestJournal.LoadFile("iCalendarJournal-Load2.vcf")); ASSERT_EQ(CALENDAROBJECTVALID_OK, TestJournal.ValidBaseObject()); // Tests for DTSTAMP. - ASSERT_EQ("20160122T124100Z", TestJournal.DateTimeStampData); + ASSERT_EQ("20160131T141500Z", TestJournal.DateTimeStampData); ASSERT_EQ("OTHER=PARAM", TestJournal.DateTimeStampTokens); + // Tests for UID. + + ASSERT_EQ("b3a16392-ad86-4061-be53-c215af2306c1", TestJournal.UniqueID); + ASSERT_EQ("UNIQUEPARAM=CERTAINLY;OKAY=MAYBENOT", TestJournal.UniqueIDTokens); + } \ No newline at end of file -- 2.39.2 From 1542e73dfb5f7e0bc0ae62eb8ab5caf63dae75ec Mon Sep 17 00:00:00 2001 From: Steve Brokenshire Date: Sun, 31 Jan 2016 14:34:13 +0000 Subject: [PATCH 08/16] Added code to process the CLASS property in CalendarJournalObject. --- .../calendarjournal/CalendarJournal.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/source/objects/calendarjournal/CalendarJournal.cpp b/source/objects/calendarjournal/CalendarJournal.cpp index 92dce67..3e08b8a 100644 --- a/source/objects/calendarjournal/CalendarJournal.cpp +++ b/source/objects/calendarjournal/CalendarJournal.cpp @@ -185,4 +185,22 @@ void CalendarJournalObject::ProcessData(){ } + // Process the data from CLASS. + + DataReceived = ProcessTextVectors(&ObjectName, &ObjectData, false, "CLASS"); + + if (DataReceived.begin() != DataReceived.end()){ + + try { + ClassDataTokens = DataReceived.begin()->first.substr(6); + } + + catch(const out_of_range &oor){ + // Do nothing as there is no data. + } + + ClassData = DataReceived.begin()->second; + + } + } \ No newline at end of file -- 2.39.2 From 9f4917d4763fe2b266e32e65fdcc508524be9611 Mon Sep 17 00:00:00 2001 From: Steve Brokenshire Date: Sun, 31 Jan 2016 14:34:36 +0000 Subject: [PATCH 09/16] Added the CLASS property to iCalendarJournal-Load2.vcf --- source/tests/iCalendarJournal-Load2.vcf | 1 + 1 file changed, 1 insertion(+) diff --git a/source/tests/iCalendarJournal-Load2.vcf b/source/tests/iCalendarJournal-Load2.vcf index a28c0f8..a331b16 100644 --- a/source/tests/iCalendarJournal-Load2.vcf +++ b/source/tests/iCalendarJournal-Load2.vcf @@ -3,5 +3,6 @@ VERSION:2.0 BEGIN:VJOURNAL DTSTAMP;OTHER=PARAM:20160131T141500Z UID;UNIQUEPARAM=CERTAINLY;OKAY=MAYBENOT:b3a16392-ad86-4061-be53-c215af2306c1 +CLASS;CHOCOLATE=BAR:PUBLIC END:VJOURNAL END:VCALENDAR \ No newline at end of file -- 2.39.2 From d6567b300876b7e4cfbaef39283d42b1ea31543f Mon Sep 17 00:00:00 2001 From: Steve Brokenshire Date: Sun, 31 Jan 2016 14:34:44 +0000 Subject: [PATCH 10/16] Added unit tests for CLASS in iCalendarJournal/ObjectDataTests. --- source/tests/xestiacalendar_icaljournalload.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/tests/xestiacalendar_icaljournalload.h b/source/tests/xestiacalendar_icaljournalload.h index c9284a2..a20ca43 100644 --- a/source/tests/xestiacalendar_icaljournalload.h +++ b/source/tests/xestiacalendar_icaljournalload.h @@ -44,4 +44,9 @@ TEST(iCalendarJournal, ObjectDataTests){ ASSERT_EQ("b3a16392-ad86-4061-be53-c215af2306c1", TestJournal.UniqueID); ASSERT_EQ("UNIQUEPARAM=CERTAINLY;OKAY=MAYBENOT", TestJournal.UniqueIDTokens); + // Tests for CLASS. + + ASSERT_EQ("PUBLIC", TestJournal.ClassData); + ASSERT_EQ("CHOCOLATE=BAR", TestJournal.ClassDataTokens); + } \ No newline at end of file -- 2.39.2 From 53ea51ea7ea1852fd1c57977867c112aeaa6ae68 Mon Sep 17 00:00:00 2001 From: Steve Brokenshire Date: Sun, 31 Jan 2016 14:38:40 +0000 Subject: [PATCH 11/16] Added code to process the LAST-MODIFIED property in CalendarJournalObject. --- .../calendarjournal/CalendarJournal.cpp | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/source/objects/calendarjournal/CalendarJournal.cpp b/source/objects/calendarjournal/CalendarJournal.cpp index 3e08b8a..71d2727 100644 --- a/source/objects/calendarjournal/CalendarJournal.cpp +++ b/source/objects/calendarjournal/CalendarJournal.cpp @@ -203,4 +203,72 @@ void CalendarJournalObject::ProcessData(){ } + // Get the Date Time Start value. + + DataReceived = ProcessTextVectors(&ObjectName, &ObjectData, false, "DTSTART"); + + // Process the data from DTSTART. + + if (DataReceived.begin() != DataReceived.end()){ + + bool TokenData = false; + string PropertyTokens; + + PropertyNameData = (string*)&DataReceived.begin()->first; + + PropertyData = SplitValues(*PropertyNameData); + + for(map::iterator iter = PropertyData.begin(); + iter != PropertyData.end(); iter++){ + + if (iter->first == "VALUE"){ + + DateTimeStartDataValue = iter->second; + + } else if (iter->first == "TZID"){ + + DateTimeStartDataTimeZoneID = iter->second; + + } else { + + if (TokenData == false){ + TokenData = true; + } else { + PropertyTokens += ";"; + } + + PropertyTokens += iter->first; + PropertyTokens += "="; + PropertyTokens += iter->second; + + } + + } + + if (PropertyTokens.size() > 0){ + DateTimeStartDataTokens = PropertyTokens; + } + + DateTimeStartData = DataReceived.begin()->second; + + } + + // Process the data from LAST-MODIFIED. + + DataReceived = ProcessTextVectors(&ObjectName, &ObjectData, false, "LAST-MODIFIED"); + + if (DataReceived.begin() != DataReceived.end()){ + + try { + LastModifiedTokens = DataReceived.begin()->first.substr(14); + } + + catch(const out_of_range &oor){ + // Do nothing as there is no data. + } + + LastModifiedData = DataReceived.begin()->second; + + } + } \ No newline at end of file -- 2.39.2 From bab698d022474a26e6e6be3aa4e73312d45395f4 Mon Sep 17 00:00:00 2001 From: Steve Brokenshire Date: Sun, 31 Jan 2016 14:39:06 +0000 Subject: [PATCH 12/16] Added the LAST-MODIFIED property to iCalendarJournal-Load2.vcf --- source/tests/iCalendarJournal-Load2.vcf | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source/tests/iCalendarJournal-Load2.vcf b/source/tests/iCalendarJournal-Load2.vcf index a331b16..c9b6795 100644 --- a/source/tests/iCalendarJournal-Load2.vcf +++ b/source/tests/iCalendarJournal-Load2.vcf @@ -4,5 +4,8 @@ BEGIN:VJOURNAL DTSTAMP;OTHER=PARAM:20160131T141500Z UID;UNIQUEPARAM=CERTAINLY;OKAY=MAYBENOT:b3a16392-ad86-4061-be53-c215af2306c1 CLASS;CHOCOLATE=BAR:PUBLIC +DTSTART;VALUE=DATE-TIME;TZID=Europe/Truro;PARAMONE=YES;PARAMTWO=NO:20160131T + 143500Z +LAST-MODIFIED;FUTURE=YES:20160131T143700Z END:VJOURNAL END:VCALENDAR \ No newline at end of file -- 2.39.2 From 3e63b1063bb4e62544be5a8e8c5c5fc3f400cf98 Mon Sep 17 00:00:00 2001 From: Steve Brokenshire Date: Sun, 31 Jan 2016 14:39:20 +0000 Subject: [PATCH 13/16] Added unit tests for DTSTART and LAST-MODIFIED in iCalendarJournal/ObjectDataTests. --- source/tests/xestiacalendar_icaljournalload.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/source/tests/xestiacalendar_icaljournalload.h b/source/tests/xestiacalendar_icaljournalload.h index a20ca43..04a3a79 100644 --- a/source/tests/xestiacalendar_icaljournalload.h +++ b/source/tests/xestiacalendar_icaljournalload.h @@ -49,4 +49,16 @@ TEST(iCalendarJournal, ObjectDataTests){ ASSERT_EQ("PUBLIC", TestJournal.ClassData); ASSERT_EQ("CHOCOLATE=BAR", TestJournal.ClassDataTokens); + // Tests for DTSTART. + + ASSERT_EQ("20160131T143500Z", TestJournal.DateTimeStartData); + ASSERT_EQ("DATE-TIME", TestJournal.DateTimeStartDataValue); + ASSERT_EQ("Europe/Truro", TestJournal.DateTimeStartDataTimeZoneID); + ASSERT_EQ("PARAMONE=YES;PARAMTWO=NO", TestJournal.DateTimeStartDataTokens); + + // Tests for LAST-MODIFIED. + + ASSERT_EQ("20160131T143700Z", TestJournal.LastModifiedData); + ASSERT_EQ("FUTURE=YES", TestJournal.LastModifiedTokens); + } \ No newline at end of file -- 2.39.2 From 8c8555951ff40cb6b22e38480ca463f2136ed344 Mon Sep 17 00:00:00 2001 From: Steve Brokenshire Date: Sun, 31 Jan 2016 14:42:33 +0000 Subject: [PATCH 14/16] Added code to process the LOCATION property in CalendarJournalObject. --- .../calendarjournal/CalendarJournal.cpp | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/source/objects/calendarjournal/CalendarJournal.cpp b/source/objects/calendarjournal/CalendarJournal.cpp index 71d2727..d8201dc 100644 --- a/source/objects/calendarjournal/CalendarJournal.cpp +++ b/source/objects/calendarjournal/CalendarJournal.cpp @@ -271,4 +271,54 @@ void CalendarJournalObject::ProcessData(){ } + // Process the data from LOCATION. + + DataReceived = ProcessTextVectors(&ObjectName, &ObjectData, false, "LOCATION"); + + if (DataReceived.begin() != DataReceived.end()){ + + bool TokenData = false; + string PropertyTokens; + + PropertyNameData = (string*)&DataReceived.begin()->first; + + PropertyData = SplitValues(*PropertyNameData); + + for(map::iterator iter = PropertyData.begin(); + iter != PropertyData.end(); iter++){ + + if (iter->first == "ALTREP"){ + + LocationDataAltRep = iter->second; + + } else if (iter->first == "LANGUAGE"){ + + LocationDataLanguage = iter->second; + + } else { + + if (TokenData == false){ + TokenData = true; + } else { + PropertyTokens += ";"; + } + + PropertyTokens += iter->first; + PropertyTokens += "="; + PropertyTokens += iter->second; + + } + + } + + if (PropertyTokens.size() > 0){ + + LocationDataTokens = PropertyTokens; + + } + + LocationData = DataReceived.begin()->second; + + } + } \ No newline at end of file -- 2.39.2 From cd7ede74aa6a063fd2366427b64690a1278f78a2 Mon Sep 17 00:00:00 2001 From: Steve Brokenshire Date: Sun, 31 Jan 2016 14:42:43 +0000 Subject: [PATCH 15/16] Added the LOCATION property to iCalendarJournal-Load2.vcf --- source/tests/iCalendarJournal-Load2.vcf | 1 + 1 file changed, 1 insertion(+) diff --git a/source/tests/iCalendarJournal-Load2.vcf b/source/tests/iCalendarJournal-Load2.vcf index c9b6795..e4a97f5 100644 --- a/source/tests/iCalendarJournal-Load2.vcf +++ b/source/tests/iCalendarJournal-Load2.vcf @@ -7,5 +7,6 @@ CLASS;CHOCOLATE=BAR:PUBLIC DTSTART;VALUE=DATE-TIME;TZID=Europe/Truro;PARAMONE=YES;PARAMTWO=NO:20160131T 143500Z LAST-MODIFIED;FUTURE=YES:20160131T143700Z +LOCATION;ALTREP="null:nodata";LANGUAGE=kw;EXACT=NO:The Middle Floors, Truro END:VJOURNAL END:VCALENDAR \ No newline at end of file -- 2.39.2 From 0391d3b44ed7d1eb889385674238e4a81c8a32e4 Mon Sep 17 00:00:00 2001 From: Steve Brokenshire Date: Sun, 31 Jan 2016 14:42:53 +0000 Subject: [PATCH 16/16] Added unit tests for LOCATION in iCalendarJournal/ObjectDataTests. --- source/tests/xestiacalendar_icaljournalload.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/source/tests/xestiacalendar_icaljournalload.h b/source/tests/xestiacalendar_icaljournalload.h index 04a3a79..53a9849 100644 --- a/source/tests/xestiacalendar_icaljournalload.h +++ b/source/tests/xestiacalendar_icaljournalload.h @@ -61,4 +61,11 @@ TEST(iCalendarJournal, ObjectDataTests){ ASSERT_EQ("20160131T143700Z", TestJournal.LastModifiedData); ASSERT_EQ("FUTURE=YES", TestJournal.LastModifiedTokens); + // Tests for LOCATION. + + ASSERT_EQ("The Middle Floors, Truro", TestJournal.LocationData); + ASSERT_EQ("null:nodata", TestJournal.LocationDataAltRep); + ASSERT_EQ("kw", TestJournal.LocationDataLanguage); + ASSERT_EQ("EXACT=NO", TestJournal.LocationDataTokens); + } \ No newline at end of file -- 2.39.2