← Back to team overview

uonedb-qt team mailing list archive

[Merge] lp:~kalikiana/u1db-qt/deleted into lp:u1db-qt

 

Christian Dywan has proposed merging lp:~kalikiana/u1db-qt/deleted into lp:u1db-qt.

Commit message:
Always omit deleted/ empty Query results and update tests

Requested reviews:
  U1DB Qt developers (uonedb-qt)
Related bugs:
  Bug #1213013 in U1DB Qt/ QML: "Deleted documents show up in Query in a ListView"
  https://bugs.launchpad.net/u1db-qt/+bug/1213013

For more details, see:
https://code.launchpad.net/~kalikiana/u1db-qt/deleted/+merge/182346
-- 
https://code.launchpad.net/~kalikiana/u1db-qt/deleted/+merge/182346
Your team U1DB Qt developers is requested to review the proposed merge of lp:~kalikiana/u1db-qt/deleted into lp:u1db-qt.
=== modified file 'src/query.cpp'
--- src/query.cpp	2013-08-09 11:09:57 +0000
+++ src/query.cpp	2013-08-27 10:51:48 +0000
@@ -144,9 +144,12 @@
         }
 
         if(match == true){
-            if (!m_documents.contains(docId))
+            // Results must be unique and not empty aka deleted
+            if (!m_documents.contains(docId) && result_variant.isValid())
+            {
                 m_documents.append(docId);
-            m_results.append(result);
+                m_results.append(result);
+            }
         }
 
     }

=== modified file 'tests/tst_query.qml'
--- tests/tst_query.qml	2013-08-12 16:19:34 +0000
+++ tests/tst_query.qml	2013-08-27 10:51:48 +0000
@@ -148,7 +148,8 @@
         // We should get all documents
         workaroundQueryAndWait(defaultPhone)
         compare(defaultPhone.documents, ['1', '_', 'a'], 'uno')
-        compare(defaultPhone.results.length, 5, 'dos')
+        compare(defaultPhone.results.length, 3, 'dos')
+        compare(defaultPhone.results.length, defaultPhone.documents.length, 'puntos')
         // FIXME: compare(defaultPhone.results, [], 'dos')
         // These queries are functionally equivalent
         compare(defaultPhone.documents, allPhone.documents, 'tres')
@@ -178,5 +179,12 @@
         // FIXME: compare(ivankaAllNamePhone.documents, ivankaAllNamePhoneKeywords.documents, 'tres')
     }
 
+    function test_4_delete () {
+        compare(defaultPhone.documents, ['1', '_', 'a'], 'uno')
+        // Deleted aka empty documents should not be returned
+        gents.putDoc('', '_')
+        compare(defaultPhone.documents, ['1', 'a'], 'dos')
+    }
+
 } }