Pau Cor
2008-Nov-26 04:16 UTC
[rspec-users] matcher to see if radio button is selected at page load
Hi. I''m trying to write a matcher to make sure a radio button is selected when the page loads. I got this at the moment: When /^I leave "(.*)" selected$/ do |label| field = field_labeled label unless field.instance_variable_get("@element")[''checked''] && field.instance_variable_get("@element")[''checked''] == "checked" raise "Expected radio button with label #{label} to be checked, but it wasn''t" end end But I''m kind of assuming that there is a reason that @element isn''t accessible. Is there a better way to do this? -- Posted via http://www.ruby-forum.com/.
Zach Dennis
2008-Nov-26 05:52 UTC
[rspec-users] matcher to see if radio button is selected at page load
On Tue, Nov 25, 2008 at 11:16 PM, Pau Cor <lists at ruby-forum.com> wrote:> Hi. I''m trying to write a matcher to make sure a radio button is > selected when the page loads. > > I got this at the moment: > > When /^I leave "(.*)" selected$/ do |label| > field = field_labeled label > unless field.instance_variable_get("@element")[''checked''] && > field.instance_variable_get("@element")[''checked''] == "checked" > raise "Expected radio button with label #{label} to be checked, but > it wasn''t" > end > end > > But I''m kind of assuming that there is a reason that @element isn''t > accessible. Is there a better way to do this?Have you tried using a CSS3 selector with something like have_tag ? response.should have_tag("input[type=radio][checked=checked][name=?][valued=?]", "your[button]", "foo") -- Zach Dennis http://www.continuousthinking.com http://www.mutuallyhuman.com
Pau Cor
2008-Nov-26 07:10 UTC
[rspec-users] matcher to see if radio button is selected at page load
Zach Dennis wrote:> response.should > have_tag("input[type=radio][checked=checked][name=?][valued=?]", > "your[button]", "foo")Wouldn''t that require me to do this: <input>My label</input> My validator is saying that is not valid XHTML. Thanks for the suggestion. I definitely haven''t looked into the power of have_tag enough. Paul -- Posted via http://www.ruby-forum.com/.