X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=ut%2Fut_remote%2Fut_remote.cpp;h=2915f775ee083a5feeaeab85a45a8d439e1a406e;hb=72d33696181770b772a7ab64878a1ff19ffe94aa;hp=d221de087b3c06721d5b04b0dd4a94728df55734;hpb=5711ed959cb165e9691fa741164bceca7187d632;p=irwi diff --git a/ut/ut_remote/ut_remote.cpp b/ut/ut_remote/ut_remote.cpp index d221de0..2915f77 100644 --- a/ut/ut_remote/ut_remote.cpp +++ b/ut/ut_remote/ut_remote.cpp @@ -1,12 +1,13 @@ #include #include "ut_remote.h" - -#include +#include "rating.h" +#include +#include "qnetworkaccessmanager.h" #include #include +#include -#include "qnetworkaccessmanager.h" #define private public #include "remote.h" @@ -16,6 +17,8 @@ void reset() { QNetworkAccessManager::urls.clear(); QSettings::values.clear(); + QNetworkReply::data.close(); + QNetworkReply::data.setData(""); } void Ut_Remote::initTestCase() @@ -44,14 +47,33 @@ void Ut_Remote::cleanup() void Ut_Remote::testSaveToFile_normal() { + connect(subject, SIGNAL(saveFinished()), + this, SLOT(wakeTest())); subject->m_name = "testname"; + QSettings settings; + settings.setValue("lircConf", "/tmp/irwiTestLircConf"); + QNetworkReply::data.close(); + QNetworkReply::data.setData("testdata"); + QNetworkReply::data.open(QIODevice::ReadOnly); + subject->saveToFile(); + + //wait for signal + QMutex mutex; + mutex.lock(); + cond.wait(&mutex, 1000); + mutex.unlock(); + QCOMPARE(QNetworkAccessManager::urls.count(), 1); QCOMPARE(QNetworkAccessManager::urls[0], QString("http://mercury.wipsl.com/irwi/uploaded/testname")); - QSettings settings; QCOMPARE(settings.value("remoteName", "fail").toString(), QString("testname")); + QFile f("/tmp/irwiTestLircConf"); + f.open(QIODevice::ReadOnly); + QByteArray testData = f.readAll(); + f.close(); + QCOMPARE(testData, QNetworkReply::data.data()); } void Ut_Remote::testSaveToFile_emptyname() @@ -64,14 +86,61 @@ void Ut_Remote::testSaveToFile_emptyname() QString("testname")); } -void Ut_Remote::testUpdateInfo() +void Ut_Remote::testUpdateInfo_normal() { + connect(subject, SIGNAL(infoUpdated()), + this, SLOT(wakeTest())); + subject->m_name = "testname"; + QNetworkReply::data.close(); + QNetworkReply::data.setData("1\n2\ntestmfg\n"); + QNetworkReply::data.open(QIODevice::ReadOnly); + subject->updateInfo(); + + //wait for signal + QMutex mutex; + mutex.lock(); + cond.wait(&mutex, 1000); + mutex.unlock(); + + QCOMPARE(QNetworkAccessManager::urls.count(), 1); + QCOMPARE(QNetworkAccessManager::urls[0], + QString("http://mercury.wipsl.com/irwi/vote/get?name=testname")); + QCOMPARE(subject->rating(), 1); + QCOMPARE(subject->voteCount(), 2); + QCOMPARE(subject->mfg(), QString("testmfg")); } -void Ut_Remote::testSendRating() +void Ut_Remote::testUpdateInfo_emptyname() { + subject->m_name = ""; + subject->updateInfo(); + QCOMPARE(QNetworkAccessManager::urls.count(), 0); } +void Ut_Remote::testSendRating_up() +{ + subject->m_name = "testname"; + subject->sendRating(Rating::Up); + QCOMPARE(QNetworkAccessManager::urls.count(), 1); + QCOMPARE(QNetworkAccessManager::urls[0], + QString("http://mercury.wipsl.com/irwi/vote/up?name=testname")); +} + +void Ut_Remote::testSendRating_down() +{ + subject->m_name = "testname"; + subject->sendRating(Rating::Down); + QCOMPARE(QNetworkAccessManager::urls.count(), 1); + QCOMPARE(QNetworkAccessManager::urls[0], + QString("http://mercury.wipsl.com/irwi/vote/down?name=testname")); +} + +void Ut_Remote::wakeTest() +{ + cond.wakeAll(); +} + + QTEST_MAIN(Ut_Remote)