Browse Source

Merge branch 'master' into dbl

Namdak Tonpa 4 years ago
parent
commit
4ad4fa189d
2 changed files with 16 additions and 13 deletions
  1. 6 13
      src/stores/kvs_rocks.erl
  2. 10 0
      test/fd_test.exs

+ 6 - 13
src/stores/kvs_rocks.erl

@@ -12,26 +12,19 @@ bt([])     -> [];
 bt(X)      -> binary_to_term(X).
 tb([])     -> [];
 tb(T) when is_list(T) -> list_to_binary(T);
-tb(T) when is_atom(T) -> atom_to_binary(T,utf8);
+tb(T) when is_atom(T) -> atom_to_binary(T, utf8);
 tb(T) when is_binary(T) -> T;
 tb(T)      -> term_to_binary(T).
 
 fmt([]) -> [];
-fmt(K) ->
-  B = tb(K),
-  S = if byte_size(B) > 1 -> 2;true -> byte_size(B) end,
-  B1 = binary:split(B,[<<"/">>,<<"//">>], [{scope,{0,S}},trim_all]),
-  B2 = case B1 of [] -> <<>>;[X|_] -> X end,
-  S1 = if byte_size(B2) > 1 -> -2; true -> 0 end,
-  B3 = binary:split(B2,[<<"/">>,<<"//">>], [{scope,{byte_size(B2),S1}},trim_all]),
-  B4 = case B3 of [] -> <<>>;[X1|_] -> X1 end,
-  B4.
+fmt(K) -> tb(K).
+
+% put
 
 key(R)     when is_tuple(R) andalso tuple_size(R) > 1 -> key(e(1,R), e(2,R));
-key(R)     -> key(R,[]).
+key(R)                                                -> key(R,[]).
 key(Tab,R) when is_tuple(R) andalso tuple_size(R) > 1 -> key(Tab, e(2,R));
-key(Tab,R) ->
-  iolist_to_binary([lists:join(<<"/">>, lists:flatten([<<>>, tb(Tab), fmt(R)]))]).
+key(Tab,R) -> iolist_to_binary([lists:join(<<"/">>, lists:flatten([<<>>, tb(Tab), fmt(R)]))]).
 
 fd(K) -> Key = tb(K),
   End = byte_size(Key),

+ 10 - 0
test/fd_test.exs

@@ -5,6 +5,16 @@ defmodule Fd.Test do
     require KVS
     import Record
 
+    test "fd_test", kvs do
+       assert "//erp" = :kvs_rocks.fd "//erp/orgs"
+       assert "/erp" = :kvs_rocks.fd "/erp/orgs"
+    end
+
+    test "key_test", kvs do
+       assert "//erp/orgs" = :kvs_rocks.key "/erp/orgs"
+       assert "/erp/orgs"  = :kvs_rocks.key "erp/orgs"
+    end
+
     defrecord(:msg, id: [], body: [])
 
     setup do: (on_exit(fn -> :ok = :kvs.leave();:ok = :kvs.destroy() end);:kvs.join())