File indexing completed on 2024-05-12 05:15:00

0001 /*
0002   This file is part of the kcalcore library.
0003 
0004   SPDX-FileCopyrightText: 2010 Klarälvdalens Datakonsult AB, a KDAB Group company <info@kdab.net>
0005 
0006   SPDX-License-Identifier: LGPL-2.0-or-later
0007 */
0008 
0009 #include "teststringify.h"
0010 #include "stringify.h"
0011 
0012 #include <KLocalizedString>
0013 
0014 #include <QTest>
0015 QTEST_MAIN(StringifyTest)
0016 #ifndef Q_OS_WIN
0017 void initLocale()
0018 {
0019     setenv("LC_ALL", "en_US.utf-8", 1);
0020 }
0021 
0022 Q_CONSTRUCTOR_FUNCTION(initLocale)
0023 #endif
0024 using namespace KCalendarCore;
0025 using namespace KCalUtils;
0026 
0027 void StringifyTest::testIncidenceStrings()
0028 {
0029     QVERIFY(Stringify::incidenceType(Incidence::TypeEvent) == i18n("event"));
0030     QVERIFY(Stringify::incidenceType(Incidence::TypeTodo) == i18n("to-do"));
0031     QVERIFY(Stringify::incidenceType(Incidence::TypeJournal) == i18n("journal"));
0032     QVERIFY(Stringify::incidenceType(Incidence::TypeFreeBusy) == i18n("free/busy"));
0033 
0034     QVERIFY(Stringify::incidenceSecrecy(Incidence::SecrecyPublic) == i18n("Public"));
0035     QVERIFY(Stringify::incidenceSecrecy(Incidence::SecrecyPrivate) == i18n("Private"));
0036     QVERIFY(Stringify::incidenceSecrecy(Incidence::SecrecyConfidential) == i18n("Confidential"));
0037 
0038     QVERIFY(Stringify::incidenceStatus(Incidence::StatusTentative) == i18n("Tentative"));
0039     QVERIFY(Stringify::incidenceStatus(Incidence::StatusConfirmed) == i18n("Confirmed"));
0040     QVERIFY(Stringify::incidenceStatus(Incidence::StatusCompleted) == i18n("Completed"));
0041     QVERIFY(Stringify::incidenceStatus(Incidence::StatusNeedsAction) == i18n("Needs-Action"));
0042     QVERIFY(Stringify::incidenceStatus(Incidence::StatusCanceled) == i18n("Canceled"));
0043     QVERIFY(Stringify::incidenceStatus(Incidence::StatusInProcess) == i18n("In-Process"));
0044     QVERIFY(Stringify::incidenceStatus(Incidence::StatusDraft) == i18n("Draft"));
0045     QVERIFY(Stringify::incidenceStatus(Incidence::StatusFinal) == i18n("Final"));
0046     QVERIFY(Stringify::incidenceStatus(Incidence::StatusX).isEmpty());
0047 }
0048 
0049 void StringifyTest::testAttendeeStrings()
0050 {
0051     QVERIFY(Stringify::attendeeRole(Attendee::Chair) == i18n("Chair"));
0052     QVERIFY(Stringify::attendeeRole(Attendee::ReqParticipant) == i18n("Participant"));
0053     QVERIFY(Stringify::attendeeRole(Attendee::OptParticipant) == i18n("Optional Participant"));
0054     QVERIFY(Stringify::attendeeRole(Attendee::NonParticipant) == i18n("Observer"));
0055 
0056     QVERIFY(Stringify::attendeeStatus(Attendee::NeedsAction) == i18n("Needs Action"));
0057     QVERIFY(Stringify::attendeeStatus(Attendee::Accepted) == i18n("Accepted"));
0058     QVERIFY(Stringify::attendeeStatus(Attendee::Declined) == i18n("Declined"));
0059     QVERIFY(Stringify::attendeeStatus(Attendee::Tentative) == i18n("Tentative"));
0060     QVERIFY(Stringify::attendeeStatus(Attendee::Delegated) == i18n("Delegated"));
0061     QVERIFY(Stringify::attendeeStatus(Attendee::Completed) == i18n("Completed"));
0062     QVERIFY(Stringify::attendeeStatus(Attendee::InProcess) == i18n("In Process"));
0063     QVERIFY(Stringify::attendeeStatus(Attendee::None) == i18n("Unknown"));
0064 }
0065 
0066 void StringifyTest::testDateTimeStrings()
0067 {
0068     // TODO
0069 }
0070 
0071 void StringifyTest::testUTCoffsetStrings()
0072 {
0073     QTimeZone tz1(5 * 60 * 60); // 5 hrs
0074     QCOMPARE(Stringify::tzUTCOffsetStr(tz1), QStringLiteral("+05:00"));
0075 
0076     QTimeZone tz2(-5 * 60 * 60); //-5 hrs
0077     QCOMPARE(Stringify::tzUTCOffsetStr(tz2), QStringLiteral("-05:00"));
0078 
0079     QTimeZone tz3(0);
0080     QCOMPARE(Stringify::tzUTCOffsetStr(tz3), QStringLiteral("+00:00"));
0081 
0082     QTimeZone tz4(30 * 60 * 60); // 30 hrs -- out-of-range
0083     QCOMPARE(Stringify::tzUTCOffsetStr(tz4), QStringLiteral("+00:00"));
0084 
0085     QTimeZone tz5((5 * 60 * 60) + (30 * 60)); // 5:30
0086     QCOMPARE(Stringify::tzUTCOffsetStr(tz5), QStringLiteral("+05:30"));
0087 
0088     QTimeZone tz6(-((11 * 60 * 60) + (59 * 60))); //-11:59
0089     QCOMPARE(Stringify::tzUTCOffsetStr(tz6), QStringLiteral("-11:59"));
0090 
0091     QTimeZone tz7(12 * 60 * 60); // 12:00
0092     QCOMPARE(Stringify::tzUTCOffsetStr(tz7), QStringLiteral("+12:00"));
0093 
0094     QTimeZone tz8(-((12 * 60 * 60) + (59 * 60))); //-12:59
0095     QCOMPARE(Stringify::tzUTCOffsetStr(tz8), QStringLiteral("-12:59"));
0096 }
0097 
0098 #include "moc_teststringify.cpp"