Skip to content

Commit 13d0b25

Browse files
v0idpwnwhatyouhide
andcommitted
Small code improvements
Co-authored-by: Andrea Leopardi <[email protected]>
1 parent ce78b42 commit 13d0b25

File tree

4 files changed

+11
-5
lines changed

4 files changed

+11
-5
lines changed

lib/protobuf/json/encode.ex

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -302,8 +302,12 @@ defmodule Protobuf.JSON.Encode do
302302
defp maybe_repeat(%{repeated?: true}, val, fun), do: Enum.map(val, fun)
303303

304304
defp default?(_prop, +0.0), do: true
305-
defp default?(_prop, -0.0), do: false
306-
defp default?(_prop, value) when value in [nil, 0, false, [], "", %{}], do: true
305+
defp default?(_prop, nil), do: true
306+
defp default?(_prop, 0), do: true
307+
defp default?(_prop, false), do: true
308+
defp default?(_prop, []), do: true
309+
defp default?(_prop, ""), do: true
310+
defp default?(_prop, %{} = map) when map_size(map) == 0, do: true
307311
defp default?(%{type: {:enum, enum}}, key) when is_atom(key), do: enum.value(key) == 0
308312
defp default?(_prop, _value), do: false
309313

test/protobuf/encoder_test.exs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,9 +171,10 @@ defmodule Protobuf.EncoderTest do
171171
assert Encoder.encode(msg) == <<>>
172172
end
173173

174-
if :erlang.system_info(:otp_release) < ~c"27" do
174+
if System.otp_release() < "27" do
175175
@tag :skip
176176
end
177+
177178
test "skips float positive zero, but doesn't skip negative zero" do
178179
msg = %TestMsg.Foo{d: 0.0, n: 0.0}
179180
assert Encoder.encode(msg) == <<>>

test/protobuf/json/encode_test.exs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,9 +98,10 @@ defmodule Protobuf.JSON.EncodeTest do
9898
assert encode(message) == %{"float" => "-Infinity", "double" => "-Infinity"}
9999
end
100100

101-
if :erlang.system_info(:otp_release) < ~c"27" do
101+
if System.otp_release() < "27" do
102102
@tag :skip
103103
end
104+
104105
test "encodes negative zero" do
105106
message = %Scalars{float: -0.0, double: -0.0}
106107
assert %{"float" => -0.0, "double" => -0.0} = encode(message)

test/test_helper.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ defmodule Protobuf.TestHelpers do
5151

5252
# This code is taken from Code.fetch_docs/1 in Elixir (v1.13 in particular).
5353
def fetch_docs_from_bytecode(bytecode) when is_binary(bytecode) do
54-
docs_chunk = 'Docs'
54+
docs_chunk = ~c"Docs"
5555
assert {:ok, {_module, [{^docs_chunk, bin}]}} = :beam_lib.chunks(bytecode, [docs_chunk])
5656
:erlang.binary_to_term(bin)
5757
end

0 commit comments

Comments
 (0)