File indexing completed on 2024-06-09 04:23:53
0001 /* 0002 * SPDX-FileCopyrightText: 2017 Boudewijn Rempt <boud@valdyas.org> 0003 * 0004 * SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "TestMemoryStorage.h" 0008 #include <simpletest.h> 0009 0010 #include <KisMemoryStorage.h> 0011 #include <KoResource.h> 0012 0013 #include "DummyResource.h" 0014 #include "ResourceTestHelper.h" 0015 0016 #ifndef FILES_DATA_DIR 0017 #error "FILES_DATA_DIR not set. A directory with the data used for testing installing resources" 0018 #endif 0019 0020 void TestMemoryStorage::initTestCase() 0021 { 0022 ResourceTestHelper::createDummyLoaderRegistry(); 0023 } 0024 0025 void TestMemoryStorage ::testStorage() 0026 { 0027 KisMemoryStorage memoryStorage; 0028 KoResourceSP resource(new DummyResource("test.gbr", ResourceType::Brushes)); 0029 memoryStorage.saveAsNewVersion(ResourceType::Brushes, resource); 0030 0031 QSharedPointer<KisResourceStorage::ResourceIterator> iter = memoryStorage.resources(ResourceType::Brushes); 0032 QVERIFY(iter->hasNext()); 0033 int count = 0; 0034 while (iter->hasNext()) { 0035 iter->next(); 0036 QVERIFY(iter->resource()); 0037 count++; 0038 } 0039 QCOMPARE(count, 1); 0040 } 0041 0042 void TestMemoryStorage ::testStorageRetrieval() 0043 { 0044 KisMemoryStorage memoryStorage; 0045 KoResourceSP resource1(new DummyResource("test1.gbr", ResourceType::Brushes)); 0046 memoryStorage.saveAsNewVersion(ResourceType::Brushes, resource1); 0047 KoResourceSP resource2(new DummyResource("test2.gbr", ResourceType::Brushes)); 0048 memoryStorage.saveAsNewVersion(ResourceType::Brushes, resource2); 0049 0050 QString url = QString("brushes/test1.0000.gbr"); 0051 KoResourceSP resource = memoryStorage.resource(url); 0052 QVERIFY(resource); 0053 QCOMPARE(resource->filename(), "test1.0000.gbr"); 0054 } 0055 0056 0057 void TestMemoryStorage::testAddResource() 0058 { 0059 KisMemoryStorage memoryStorage; 0060 KoResourceSP res1(new DummyResource("test1.gbr", ResourceType::Brushes)); 0061 memoryStorage.saveAsNewVersion(ResourceType::Brushes, res1); 0062 0063 ResourceTestHelper::testVersionedStorage(memoryStorage, ResourceType::Brushes, "brushes/test1.0000.gbr"); 0064 ResourceTestHelper::testVersionedStorageIterator(memoryStorage, ResourceType::Brushes, "brushes/test1.0000.gbr"); 0065 } 0066 0067 SIMPLE_TEST_MAIN(TestMemoryStorage) 0068