Bladeren bron

Fixed issue whereby element(1, ...) is called on every tuple nested inside a pretty printed record regardless of size.

Modified unit test to test 0 size tuple case.
pull/199/head
Shane Howley 11 jaren geleden
bovenliggende
commit
d58e633e15
2 gewijzigde bestanden met toevoegingen van 6 en 4 verwijderingen
  1. +4
    -2
      src/lager.erl
  2. +2
    -2
      test/pr_nested_record_test.erl

+ 4
- 2
src/lager.erl Bestand weergeven

@ -378,8 +378,10 @@ pr(Record, _) ->
Record.
zip([FieldName|RecordFields], [FieldValue|Record], Module, ToReturn) ->
case is_tuple(FieldValue) andalso is_atom(element(1, FieldValue))
andalso is_record_known(FieldValue, Module) of
case is_tuple(FieldValue) andalso
tuple_size(FieldValue) > 0 andalso
is_atom(element(1, FieldValue)) andalso
is_record_known(FieldValue, Module) of
false ->
zip(RecordFields, Record, Module, [{FieldName, FieldValue}|ToReturn]);
_Else ->

+ 2
- 2
test/pr_nested_record_test.erl Bestand weergeven

@ -12,10 +12,10 @@
nested_record_test() ->
A = #a{field1 = x, field2 = y},
B = #b{field1 = A, field2 = z},
B = #b{field1 = A, field2 = {}},
Pr_B = lager:pr(B, ?MODULE),
?assertEqual({'$lager_record', b,
[{field1, {'$lager_record', a,
[{field1, x},{field2, y}]}},
{field2, z}]},
{field2, {}}]},
Pr_B).

Laden…
Annuleren
Opslaan