Matcher to see if radio button is selected at page load


#1

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?


#2

On Tue, Nov 25, 2008 at 11:16 PM, Pau C. removed_email_address@domain.invalid wrote:

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 D.
http://www.continuousthinking.com
http://www.mutuallyhuman.com


#3

Zach D. wrote:

response.should
have_tag(“input[type=radio][checked=checked][name=?][valued=?]”,
“your[button]”, “foo”)

Wouldn’t that require me to do this: My label
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