diff --git a/lib/webrat/core/field.rb b/lib/webrat/core/field.rb index 8145aaf3..21c878f4 100644 --- a/lib/webrat/core/field.rb +++ b/lib/webrat/core/field.rb @@ -213,7 +213,7 @@ def to_param def choose other_options.each do |option| - option.unset + option.set(nil) end set(@element["value"] || "on") diff --git a/spec/api/chooses_spec.rb b/spec/api/chooses_spec.rb index 3c8ed5f4..dccb2908 100644 --- a/spec/api/chooses_spec.rb +++ b/spec/api/chooses_spec.rb @@ -77,4 +77,19 @@ @session.should_receive(:post).with("/login", "first_option" => "on") @session.clicks_button end + + it "should result in the value of the selected radio button being posted when a subsequent one is checked by default" do + @session.response_body = <<-EOS +
+ + + + + +
+ EOS + @session.should_receive(:post).with("/login", "user" => {"gender" => "M"}) + @session.chooses "Male" + @session.clicks_button + end end