|
|
@ -0,0 +1,40 @@ |
|
|
|
-module(pr_composite_test). |
|
|
|
|
|
|
|
-compile([{parse_transform, lager_transform}]). |
|
|
|
|
|
|
|
-record(a, {field1 :: term(), field2 :: term()}). |
|
|
|
-record(b, {field1 :: term() , field2 :: term()}). |
|
|
|
|
|
|
|
|
|
|
|
-include_lib("eunit/include/eunit.hrl"). |
|
|
|
|
|
|
|
nested_record_test() -> |
|
|
|
A = #a{field1 = x, field2 = y}, |
|
|
|
B = #b{field1 = A, field2 = {}}, |
|
|
|
Pr_B = lager:pr(B, ?MODULE), |
|
|
|
?assertEqual({'$lager_record', b, |
|
|
|
[{field1, {'$lager_record', a, |
|
|
|
[{field1, x},{field2, y}]}}, |
|
|
|
{field2, {}}]}, |
|
|
|
Pr_B). |
|
|
|
|
|
|
|
list_field_test() -> |
|
|
|
As = [#a{field1 = 1, field2 = a2}, |
|
|
|
#a{field1 = 2, field2 = a2}], |
|
|
|
B = #b{field1 = As, field2 = b2}, |
|
|
|
Pr_B = lager:pr(B, ?MODULE), |
|
|
|
?assertEqual({'$lager_record', b, |
|
|
|
[{field1, [{'$lager_record', a, |
|
|
|
[{field1, 1},{field2, a2}]}, |
|
|
|
{'$lager_record', a, |
|
|
|
[{field1, 2},{field2, a2}]}]}, |
|
|
|
{field2, b2}]}, |
|
|
|
Pr_B). |
|
|
|
|
|
|
|
list_of_records_test() -> |
|
|
|
As = [#a{field1 = 1, field2 = a2}, |
|
|
|
#a{field1 = 2, field2 = a2}], |
|
|
|
Pr_As = lager:pr(As, ?MODULE), |
|
|
|
?assertEqual([{'$lager_record', a, [{field1, 1},{field2, a2}]}, |
|
|
|
{'$lager_record', a, [{field1, 2},{field2, a2}]}], |
|
|
|
Pr_As). |