[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: =?utf-8?q?=5Bkde-runtime=5D_nepomuk/services/storage=3A_Merge_br?=
From: Vishesh Handa <handa.vish () gmail ! com>
Date: 2011-07-01 14:04:44
Message-ID: 20110701140444.E92A5A60A6 () git ! kde ! org
[Download RAW message or body]
Git commit e4210a5992e193e174ad0d31ce1cea6093c21149 by Vishesh Handa.
Committed on 01/07/2011 at 16:10.
Pushed by vhanda into branch 'master'.
Merge branch 'nepomuk/noMoreRandomProtocols'
Conflicts:
nepomuk/services/storage/test/datamanagementmodeltest.cpp
nepomuk/services/storage/test/datamanagementmodeltest.h
MM +5 -0 nepomuk/services/storage/classandpropertytree.cpp
MM +3 -0 nepomuk/services/storage/classandpropertytree.h
MM +128 -63 nepomuk/services/storage/datamanagementmodel.cpp
MM +142 -54 nepomuk/services/storage/test/datamanagementmodeltest.cpp
MM +4 -0 nepomuk/services/storage/test/datamanagementmodeltest.h
http://commits.kde.org/kde-runtime/e4210a5992e193e174ad0d31ce1cea6093c21149
diff --cc nepomuk/services/storage/test/datamanagementmodeltest.cpp
index 069c4bd,93a655c..ef4b8bf
--- a/nepomuk/services/storage/test/datamanagementmodeltest.cpp
+++ b/nepomuk/services/storage/test/datamanagementmodeltest.cpp
@@@ -4199,30 -4189,49 +4244,73 @@@ void DataManagementModelTest::testStore
QVERIFY(!m_dmModel->lastError());
}
+
+// make sure that the same values are simply merged even if encoded differently
+void DataManagementModelTest::testStoreResources_duplicateValuesAsString()
+{
+ SimpleResource res;
+
+ // add the same type twice
+ res.addType(QUrl("class:/typeA"));
+ res.addProperty(RDF::type(), QLatin1String("class:/typeA"));
+
+ // add the same value twice
+ res.addProperty(QUrl("prop:/int"), 42);
+ res.addProperty(QUrl("prop:/int"), QLatin1String("42"));
+
+ // now add the resource
+ m_dmModel->storeResources(SimpleResourceGraph() << res, \
QLatin1String("testapp")); +
+ // this should succeed
+ QVERIFY(!m_dmModel->lastError());
+
+ // make sure all is well
+ QCOMPARE(m_model->listStatements(Soprano::Node(), RDF::type(), \
QUrl("class:/typeA")).allStatements().count(), 1); + \
QCOMPARE(m_model->listStatements(Soprano::Node(), QUrl("prop:/int"), \
LiteralValue(42)).allStatements().count(), 1); +}
+
++
+ void DataManagementModelTest::testStoreResources_ontology()
+ {
+ SimpleResource res( NFO::FileDataObject() );
+ res.addType( NCO::Contact() );
+
+ m_dmModel->storeResources(SimpleResourceGraph() << res, \
QLatin1String("testapp")); +
+ // There should be some error, we're trying to set an ontology
+ QVERIFY( m_dmModel->lastError() );
+ }
+
+
+ void DataManagementModelTest::testStoreResources_legacyUris()
+ {
+ const QUrl uri("res:/A");
+
+ const QUrl graphUri = m_nrlModel->createGraph( NRL::InstanceBase() );
+ m_model->addStatement( uri, RDF::type(), NFO::FileDataObject(), graphUri );
+ m_model->addStatement( uri, RDF::type(), NFO::Folder(), graphUri );
+ m_model->addStatement( uri, NAO::numericRating(), LiteralValue(5), graphUri );
+
+ SimpleResource res( uri );
+ res.addType( NFO::Folder() );
+ res.addType( NFO::FileDataObject() );
+ res.addProperty( NAO::numericRating(), QLatin1String("5") );
+
+ m_dmModel->storeResources( SimpleResourceGraph() << res, QLatin1String("app"), \
IdentifyAll, OverwriteProperties ); + QVERIFY( !m_dmModel->lastError() );
+
+ QVERIFY( m_model->containsAnyStatement( uri, NAO::numericRating(), \
LiteralValue(5) ) ); +
+ SimpleResource res2;
+ res2.addType( NFO::FileDataObject() );
+ res2.addProperty( NIE::isPartOf(), uri );
+
+ m_dmModel->storeResources( SimpleResourceGraph() << res2, QLatin1String("app") \
); + QVERIFY( !m_dmModel->lastError() );
+
+ QVERIFY( m_model->containsAnyStatement( Node(), NIE::isPartOf(), uri ) );
+ }
+
-
void DataManagementModelTest::testMergeResources()
{
// first we need to create the two resources we want to merge as well as one \
that should not be touched
diff --cc nepomuk/services/storage/test/datamanagementmodeltest.h
index a89212e,6a6edf8..eafc781
--- a/nepomuk/services/storage/test/datamanagementmodeltest.h
+++ b/nepomuk/services/storage/test/datamanagementmodeltest.h
@@@ -130,7 -129,8 +132,9 @@@ private Q_SLOTS
void testStoreResources_overwriteProperties();
void testStoreResources_correctDomainInStore();
void testStoreResources_correctRangeInStore();
+ void testStoreResources_duplicateValuesAsString();
+ void testStoreResources_ontology();
+ void testStoreResources_legacyUris();
void testMergeResources();
void testMergeResources_protectedTypes();
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic