diff --git a/README.rdoc b/README.rdoc index a264e962..7862ba88 100644 --- a/README.rdoc +++ b/README.rdoc @@ -35,7 +35,7 @@ Also, check out the EXAMPLES file. Copyright (c) 2005 by Michael Neumann (mneumann@ntecs.de) -Copyright (c) 2006-2009: +Copyright (c) 2006-2010: * {Aaron Patterson}[http://tenderlovemaking.com] (aaronp@rubyforge.org) * {Mike Dalessio}[http://mike.daless.io] (mike@csa.net) diff --git a/lib/mechanize/form.rb b/lib/mechanize/form.rb index b31b193c..f3f9d04a 100644 --- a/lib/mechanize/form.rb +++ b/lib/mechanize/form.rb @@ -277,9 +277,9 @@ def parse next if name.nil? && !(type == 'submit' || type =='button') case type when 'radio' - @radiobuttons << RadioButton.new(node['name'], node['value'], !!node['checked'], self, node) + @radiobuttons << RadioButton.new(node, self) when 'checkbox' - @checkboxes << CheckBox.new(node['name'], node['value'], !!node['checked'], self, node) + @checkboxes << CheckBox.new(node, self) when 'file' @file_uploads << FileUpload.new(node['name'], nil) when 'submit' diff --git a/lib/mechanize/form/radio_button.rb b/lib/mechanize/form/radio_button.rb index 365da499..745f1a76 100644 --- a/lib/mechanize/form/radio_button.rb +++ b/lib/mechanize/form/radio_button.rb @@ -5,11 +5,11 @@ class Form class RadioButton < Field attr_accessor :checked - def initialize(name, value, checked, form, node) - @checked = checked + def initialize node, form + @checked = !!node['checked'] @form = form @node = node - super(name, value) + super(node['name'], node['value']) end def check diff --git a/test/test_html_unscape_forms.rb b/test/test_html_unscape_forms.rb index 356ed0c5..2dd7406c 100644 --- a/test/test_html_unscape_forms.rb +++ b/test/test_html_unscape_forms.rb @@ -32,7 +32,11 @@ def test_image_button end def test_radio_button - f = Mechanize::Form::RadioButton.new('a&b', 'a&b', nil, nil, nil) + fake_node = { + 'name' => 'a&b', + 'value' => 'a&b' + } + f = Mechanize::Form::RadioButton.new(fake_node, nil) assert_equal('a&b', f.name) assert_equal('a&b', f.value) end