Add unit and integration tests for DAOs, Translator, EventBus, and SyncScheduler (Phase 9 - Testing & QA)
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
#include <QtTest/QtTest>
|
||||
#include "../../src/core/translator.h"
|
||||
|
||||
class TestTranslator : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
private slots:
|
||||
void initTestCase();
|
||||
void testLoadLanguage();
|
||||
void testTranslation();
|
||||
void testCleanup();
|
||||
};
|
||||
|
||||
void TestTranslator::initTestCase()
|
||||
{
|
||||
// Ensure we start with a clean state (singleton may persist)
|
||||
// Since Translator is a singleton, we can reload language.
|
||||
Translator& translator = Translator::instance();
|
||||
translator.loadLanguage("en_US");
|
||||
}
|
||||
|
||||
void TestTranslator::testLoadLanguage()
|
||||
{
|
||||
Translator& translator = Translator::instance();
|
||||
QVERIFY(translator.loadLanguage("en_US"));
|
||||
QCOMPARE(translator.currentLanguage(), QString("en_US"));
|
||||
}
|
||||
|
||||
void TestTranslator::testTranslation()
|
||||
{
|
||||
Translator& translator = Translator::instance();
|
||||
// Test known keys
|
||||
QCOMPARE(translator.tr("appName"), QString("Wino Mail"));
|
||||
QCOMPARE(translator.tr("welcomeMessage"), QString("Welcome to Wino Mail"));
|
||||
QCOMPARE(translator.tr("inbox"), QString("Inbox"));
|
||||
QCOMPARE(translator.tr("settings"), QString("Settings"));
|
||||
// Test unknown key returns the key itself
|
||||
QCOMPARE(translator.tr("unknown.key"), QString("unknown.key"));
|
||||
}
|
||||
|
||||
void TestTranslator::testCleanup()
|
||||
{
|
||||
// Nothing to clean up
|
||||
}
|
||||
|
||||
QTEST_MAIN(TestTranslator)
|
||||
#include "test_translator.moc"
|
||||
Reference in New Issue
Block a user