Skip to content

Commit b5867e1

Browse files
Fix not extracting variable bindings from simple_format arg
1 parent 4aa45cb commit b5867e1

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

lib/cldr/messages/messages.ex

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -440,6 +440,7 @@ defmodule Cldr.Message do
440440
Enum.reduce(message, [], fn
441441
{:named_arg, arg}, acc -> [arg | acc]
442442
{:pos_arg, arg}, acc -> [arg | acc]
443+
{:simple_format, {_, arg}, _, _}, acc -> [arg | acc]
443444
{:select, {_, arg}, selectors}, acc -> [arg, bindings(selectors) | acc]
444445
{:plural, {_, arg}, _, selectors}, acc -> [arg, bindings(selectors) | acc]
445446
{:select_ordinal, {_, arg}, _, selectors}, acc -> [arg, bindings(selectors) | acc]

test/cldr_messages_test.exs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,12 @@ defmodule Cldr_Messages_Test do
274274
["gender_of_host", "num_guests", "host", "guest"]
275275
end
276276

277-
test "that postional arguments can be prohitbited" do
277+
test "Extract variable bindings from simple_format messages" do
278+
assert Cldr.Message.bindings("Watched {percentage_watched, number, percent} of {video_name}") ==
279+
["video_name", "percentage_watched"]
280+
end
281+
282+
test "that positional arguments can be prohibited" do
278283
assert Cldr.Message.format("Can you see {0}", ["me"], allow_positional_args: false) ==
279284
{:error,
280285
{Cldr.Message.PositionalArgsNotPermitted, "Positional arguments are not permitted"}}

0 commit comments

Comments
 (0)