NOISSUE Comment and bugfix the Resource system

This commit is contained in:
Jan Dalheimer
2015-06-06 12:30:49 +02:00
committed by Petr Mrázek
parent 24db645167
commit 1e51b62c88
12 changed files with 180 additions and 86 deletions

View File

@ -29,6 +29,7 @@ add_unit_test(modutils tst_modutils.cpp)
add_unit_test(inifile tst_inifile.cpp)
add_unit_test(UpdateChecker tst_UpdateChecker.cpp)
add_unit_test(DownloadTask tst_DownloadTask.cpp)
add_unit_test(Resource tst_Resource.cpp)
# Tests END #

View File

@ -43,8 +43,8 @@ public:
class ResourceTest : public QObject
{
Q_OBJECT
private
slots:
private
slots:
void initTestCase()
{
Resource::registerHandler<DummyStringResourceHandler>("dummy");
@ -75,10 +75,9 @@ slots:
void test_DontRequestPlaceholder()
{
auto resource = Resource::create("dummy:asdf")
// since dummy:asdf immediently gives a value we should not get the placeholder
Resource::create("dummy:asdf", Resource::create("dummy:fdsa"))
->then([](const QString &key) { QCOMPARE(key, QStringLiteral("asdf")); });
// the following call should not notify the observer. if it does the above QCOMPARE would fail.
resource->placeholder(Resource::create("dummy:fdsa"));
}
void test_MergedResources()
@ -94,6 +93,23 @@ slots:
QVERIFY(r2 != r3);
QVERIFY(r4 != r3);
}
void test_MergedResourceWithPlaceholder()
{
auto p1 = Resource::create("dummy:placeA");
auto p2 = Resource::create("dummy:placeB");
auto r1 = Resource::create("dummy:asdf");
auto r2 = Resource::create("dummy:asdf", p1);
auto r3 = Resource::create("dummy:asdf", p2);
auto r4 = Resource::create("dummy:asdf", p1);
QCOMPARE(r2, r4);
QVERIFY(r1 != r2);
QVERIFY(r1 != r3);
QVERIFY(r1 != r4);
QVERIFY(r2 != r3);
}
};
QTEST_GUILESS_MAIN(ResourceTest)