Skip to content

Commit 1a670c0

Browse files
committed
Change the order of keys in edit script for map
1 parent 1eef3b4 commit 1a670c0

File tree

2 files changed

+11
-12
lines changed

2 files changed

+11
-12
lines changed

lib/ex_unit/lib/ex_unit/diff.ex

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,6 @@ defmodule ExUnit.Diff do
186186

187187
defp format_list_elem(elem, false),
188188
do: inspect(elem)
189-
190189
defp format_list_elem({key, val}, true),
191190
do: format_key_value(key, val, true)
192191

@@ -225,11 +224,7 @@ defmodule ExUnit.Diff do
225224
Inspect.List.keyword?(missing) and
226225
Inspect.List.keyword?(same)
227226

228-
result = Enum.reduce(same, [], fn({key, val}, acc) ->
229-
map_pair = format_key_value(key, val, keyword?)
230-
[[eq: ", ", eq: map_pair] | acc]
231-
end)
232-
result = Enum.reduce(missing, result, fn({key, val}, acc) ->
227+
result = Enum.reduce(missing, [], fn({key, val}, acc) ->
233228
map_pair = format_key_value(key, val, keyword?)
234229
[[ins: ", ", ins: map_pair] | acc]
235230
end)
@@ -241,6 +236,10 @@ defmodule ExUnit.Diff do
241236
value_diff = script_inner(val1, val2)
242237
[[{:eq, ", "}, {:eq, format_key(key, keyword?)}, value_diff] | acc]
243238
end)
239+
result = Enum.reduce(same, result, fn({key, val}, acc) ->
240+
map_pair = format_key_value(key, val, keyword?)
241+
[[eq: ", ", eq: map_pair] | acc]
242+
end)
244243
[[_ | elem_diff] | rest] = result
245244
[{:eq, "%" <> name <> "{"}, [elem_diff | rest], {:eq, "}"}]
246245
end

lib/ex_unit/test/ex_unit/diff_test.exs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -117,23 +117,23 @@ defmodule ExUnit.DiffTest do
117117
expected = [
118118
{:eq, "%{"},
119119
[
120-
[{:eq, "12 => "}, [del: "1", ins: "3", eq: "2"]],
120+
[eq: "1 => 1"], [eq: ", ", eq: "2 => 2"], [eq: ", ", eq: "3 => 3"],
121+
[eq: ", ", eq: "4 => 4"], [eq: ", ", eq: "11 => 11"], [eq: ", ", eq: "14 => 14"],
122+
[eq: ", ", eq: "15 => 15"],
123+
[{:eq, ", "}, {:eq, "12 => "}, [del: "1", ins: "3", eq: "2"]],
121124
[del: ", ", del: "5 => 5"], [del: ", ", del: "6 => 6"], [del: ", ", del: "7 => 7"],
122125
[del: ", ", del: "8 => 8"], [del: ", ", del: "9 => 9"], [del: ", ", del: "10 => 10"],
123126
[ins: ", ", ins: "13 => 13"],
124-
[eq: ", ", eq: "1 => 1"], [eq: ", ", eq: "2 => 2"], [eq: ", ", eq: "3 => 3"],
125-
[eq: ", ", eq: "4 => 4"], [eq: ", ", eq: "11 => 11"], [eq: ", ", eq: "14 => 14"],
126-
[eq: ", ", eq: "15 => 15"],
127127
],
128128
{:eq, "}"}
129129
]
130130
assert script(map1, map2) == expected
131131

132132
map1 = %{baz: 12}
133133
map2 = %{foo: 12, bar: 12, baz: 12}
134-
expected = [{:eq, "%{"}, [[ins: "bar: 12"], [ins: ", ", ins: "foo: 12"], [eq: ", ", eq: "baz: 12"]], {:eq, "}"}]
134+
expected = [{:eq, "%{"}, [[eq: "baz: 12"], [ins: ", ", ins: "bar: 12"], [ins: ", ", ins: "foo: 12"]], {:eq, "}"}]
135135
assert script(map1, map2) == expected
136-
expected = [{:eq, "%{"}, [[del: "bar: 12"], [del: ", ", del: "foo: 12"], [eq: ", ", eq: "baz: 12"]], {:eq, "}"}]
136+
expected = [{:eq, "%{"}, [[eq: "baz: 12"], [del: ", ", del: "bar: 12"], [del: ", ", del: "foo: 12"]], {:eq, "}"}]
137137
assert script(map2, map1) == expected
138138
assert script(map1, %{}) == [{:eq, "%{"}, [[del: "baz: 12"]], {:eq, "}"}]
139139
assert script(%{}, map1) == [{:eq, "%{"}, [[ins: "baz: 12"]], {:eq, "}"}]

0 commit comments

Comments
 (0)