Browse Source

test next

dxt 4 years ago
parent
commit
caa496a2d8
1 changed files with 21 additions and 0 deletions
  1. 21 0
      test/fd_test.exs

+ 21 - 0
test/fd_test.exs

@@ -40,6 +40,27 @@ defmodule Fd.Test do
         assert KVS.reader(feed: "/", count: 0, dir: 0, args: [], cache: []) = :kvs.bot(:kvs.reader("/"))
     end
 
+    test "next", kvs do
+        log :kvs.all("/crm/luck")
+        last = msg(id: Enum.at(kvs[:id1],9))
+        KVS.reader(id: rid) = :kvs.save(:kvs.top(:kvs.reader("/crm/luck")))
+        kvs[:id1] |> Enum.with_index 
+                  |> Enum.each(fn {id,9} ->
+                        r = :kvs.load_reader(rid)
+                        assert r1 = KVS.reader(feed: "/crm/luck", cache: c1, count: 10, dir: 0, args: [^last]) = :kvs.next(r)
+                        assert KVS.reader(args: [], feed: "/crm/luck", cache: c1) = :kvs.save(r1)
+                {id,i} -> 
+                    v = msg(id: Enum.at(kvs[:id1],i))
+                    c = Enum.at(kvs[:id1],i+1)
+                    r = :kvs.load_reader(rid)
+                    assert r1 = KVS.reader(feed: "/crm/luck", cache: {:msg,^c,"/crm/luck"}, count: 10, dir: 0, args: [^v]) = :kvs.next(r)
+                    assert KVS.reader(args: [], feed: "/crm/luck", cache: {:msg,^c,"/crm/luck"}) = :kvs.save(r1)
+            end)
+        r = :kvs.load_reader(rid)
+        assert r == :kvs.next(r)
+        assert r == KVS.reader(:kvs.next(:kvs.bot(r)), args: [])
+    end
+
     defp log(x), do: IO.puts '#{inspect(x)}'
     defp log(m, x), do: IO.puts '#{m} #{inspect(x)}'
 end