Browse Source

reverse feed back to normal. test all == feed

dxt 4 years ago
parent
commit
1a1bde54d8
2 changed files with 20 additions and 2 deletions
  1. 2 2
      src/stores/kvs_st.erl
  2. 18 0
      test/st_test.exs

+ 2 - 2
src/stores/kvs_st.erl

@@ -34,9 +34,9 @@ feed(Feed) -> feed(fun(#reader{}=R) -> take(R#reader{args=4}) end, top(reader(ke
 feed(F,#reader{cache=C1}=R,Acc) ->
   #reader{args=A, cache=Ch, feed=Feed} = R1 = F(R),
   case Ch of
-    C1 -> lists:reverse(Acc ++ A);
+    C1 -> Acc ++ A;
     {_,_,K} when binary_part(K,{0,byte_size(Feed)}) == Feed -> feed(F, R1, Acc ++ A);
-    _ -> lists:reverse(Acc ++ A)
+    _ -> Acc ++ A
   end.
 
 load_reader(Id) ->

+ 18 - 0
test/st_test.exs

@@ -98,6 +98,24 @@ defmodule St.Test do
         assert KVS.reader(id: ^rid, feed: ^feed, args: []) = :kvs.drop(KVS.reader(r1, args: 100))
     end
 
+    test "feed",kvs do
+        docs  = :kvs.all("/crm/personal/Реєстратор А1/in/doc")
+        ducks = :kvs.all("/crm/personal/Реєстратор А1/in/directory/duck")
+        mail  = :kvs.all("/crm/personal/Реєстратор А1/in/mail")
+        total = :kvs.all("/crm/personal/Реєстратор А1/in")
+
+        assert ducks++docs++mail == total
+
+        assert docs  = :kvs.feed("/crm/personal/Реєстратор А1/in/doc")
+        assert ducks = :kvs.feed("/crm/personal/Реєстратор А1/in/directory/duck")
+        assert mail  = :kvs.feed("/crm/personal/Реєстратор А1/in/mail")
+        assert total = :kvs.feed("/crm/personal/Реєстратор А1/in")
+
+        assert :kvs.feed("/crm/personal/Реєстратор А1/in/directory/duck") 
+            ++ :kvs.feed("/crm/personal/Реєстратор А1/in/doc")
+            ++ :kvs.feed("/crm/personal/Реєстратор А1/in/mail") == :kvs.feed("/crm/personal/Реєстратор А1/in")
+    end 
+
     defp log(x), do: IO.puts '#{inspect(x)}'
     defp log(m, x), do: IO.puts '#{m} #{inspect(x)}'