You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by ro...@apache.org on 2015/02/03 16:13:23 UTC

[16/50] [abbrv] couchdb-mango git commit: Add Unit Test For In Operator Array

Add Unit Test For In Operator Array

38863-in-operatory-arrays


Project: http://git-wip-us.apache.org/repos/asf/couchdb-mango/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-mango/commit/c09d8d4b
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-mango/tree/c09d8d4b
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-mango/diff/c09d8d4b

Branch: refs/heads/master
Commit: c09d8d4b2cfc12b6aac1f1e6ac8cd965811c3223
Parents: 52544a5
Author: Tony Sun <ll...@Tonys-MacBook-Pro.local>
Authored: Wed Nov 5 10:02:59 2014 -0800
Committer: Tony Sun <ll...@Tonys-MacBook-Pro.local>
Committed: Wed Nov 5 10:41:30 2014 -0800

----------------------------------------------------------------------
 src/mango_selector.erl   |  5 -----
 test/03-operator-test.py | 12 ++++++++++++
 2 files changed, 12 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb-mango/blob/c09d8d4b/src/mango_selector.erl
----------------------------------------------------------------------
diff --git a/src/mango_selector.erl b/src/mango_selector.erl
index 97f4123..da6a8ba 100644
--- a/src/mango_selector.erl
+++ b/src/mango_selector.erl
@@ -658,11 +658,6 @@ match({[{<<"$in">>, Args}]}, Values, Cmp) when is_list(Values)->
         end, false, Values)
     end,
     lists:any(Pred, Args);
-match({[{<<"$in">>, Args}]}, Values, Cmp) when is_list(Values)->
-    Pred = fun(Arg) -> lists:foldl(fun(Value,Match) ->
-        (Cmp(Value, Arg) == 0) or Match end, false, Values)
-    end,
-    lists:any(Pred, Args);
 match({[{<<"$in">>, Args}]}, Value, Cmp) ->
     Pred = fun(Arg) -> Cmp(Value, Arg) == 0 end,
     lists:any(Pred, Args);

http://git-wip-us.apache.org/repos/asf/couchdb-mango/blob/c09d8d4b/test/03-operator-test.py
----------------------------------------------------------------------
diff --git a/test/03-operator-test.py b/test/03-operator-test.py
index 6ee596a..4ef93ff 100644
--- a/test/03-operator-test.py
+++ b/test/03-operator-test.py
@@ -67,3 +67,15 @@ def test_regex():
     assert len(docs) == 2
     assert docs[0]["user_id"] == 2
     assert docs[1]["user_id"] == 10
+
+
+def test_in_operator_array():
+    db = user_docs.mkdb()
+
+    docs = db.find({
+            "manager": True,
+            "favorites": {"$in": ["Ruby", "Python"]}
+        })
+    assert len(docs) == 7
+    assert docs[0]["user_id"] == 2
+    assert docs[1]["user_id"] == 12