From 6e7f5eea72655632a8b9a7ed24276dc34b06642d Mon Sep 17 00:00:00 2001 From: Djalma Araujo Date: Thu, 7 May 2026 10:22:37 -0300 Subject: [PATCH] [Bug Fix] Fix SelectValue placeholder fallback (#292) --- gem/lib/ruby_ui/select/select_value.rb | 3 ++- gem/test/ruby_ui/select_test.rb | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/gem/lib/ruby_ui/select/select_value.rb b/gem/lib/ruby_ui/select/select_value.rb index 80b8fe032..3def939a0 100644 --- a/gem/lib/ruby_ui/select/select_value.rb +++ b/gem/lib/ruby_ui/select/select_value.rb @@ -9,7 +9,8 @@ def initialize(placeholder: nil, **attrs) def view_template(&block) span(**attrs) do - block ? block.call : @placeholder + value = block ? block.call : @placeholder + value || @placeholder end end diff --git a/gem/test/ruby_ui/select_test.rb b/gem/test/ruby_ui/select_test.rb index b1f5b1be2..b51469043 100644 --- a/gem/test/ruby_ui/select_test.rb +++ b/gem/test/ruby_ui/select_test.rb @@ -29,4 +29,14 @@ def test_render_with_all_items assert_match(/John/, output) assert_match('name="NAME"', output) end + + def test_select_value_renders_placeholder_when_block_returns_nil + output = phlex do + RubyUI.SelectValue(placeholder: "Placeholder") do + nil + end + end + + assert_match(/Placeholder/, output) + end end