-
Notifications
You must be signed in to change notification settings - Fork 1
/
jsonurls_tests.erl
32 lines (27 loc) · 1.07 KB
/
jsonurls_tests.erl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
%%
%% Unit tests for jsonurls modules
%%
%%
-module(jsonurls_tests).
-include_lib("eunit/include/eunit.hrl").
-author({author, "Rodolphe Quiedeville", "<[email protected]>"}).
%% Tests
url_test()->
Data = {struct, [{<<"url">>, "foo1"}]},
?assertEqual("foo1", jsonurls:url(Data)).
url_binary_test()->
Data = {struct, [{<<"url">>, <<"foo1">>}]},
?assertEqual("foo1", jsonurls:url(Data)).
fillurls_test()->
Data = [{struct, [{<<"url">>, "foo1"}]}, {struct, [{<<"url">>, "foo2"}]}],
Assert = ["foo1", "foo2"],
?assertEqual(Assert, jsonurls:fillurls(Data)).
decode_test()->
Data = ts_dynvars:new(jsonurls, "[{\"url\":\"/foobar/index?page=0\"},{\"url\":\"/foo?p=1\"}]"),
Assert = [{struct, [{<<"url">>, <<"/foobar/index?page=0">>}]},
{struct, [{<<"url">>, <<"/foo?p=1">>}]}],
?assertEqual(Assert, jsonurls:decode(Data)).
get_url_test()->
Data = ts_dynvars:new(jsonurls, "[{\"url\":\"/foobar?page=0\"},{\"url\":\"/foo/i?p=1\"}]"),
Assert = ["/foo/i?p=1","/foobar?page=0"],
?assertEqual(Assert, jsonurls:get_urls({1, Data})).