Fixed bug where disabled fields would be submitted.
This commit is contained in:
parent
7c46a6fed0
commit
c5e3546cff
|
@ -47,10 +47,15 @@ module Webrat
|
|||
end
|
||||
|
||||
def to_param
|
||||
return nil if disabled?
|
||||
value = @value.to_s.gsub('&', '%26')
|
||||
param_parser.parse_query_parameters("#{name}=#{value}")
|
||||
end
|
||||
|
||||
|
||||
def disabled?
|
||||
@element.attributes.has_key? "disabled"
|
||||
end
|
||||
|
||||
def set(value)
|
||||
@value = value
|
||||
end
|
||||
|
|
|
@ -154,6 +154,21 @@ describe "clicks_button" do
|
|||
@session.clicks_button
|
||||
end
|
||||
|
||||
it "should not send disabled field values" do
|
||||
@session.response_body = <<-EOS
|
||||
<form method="get" action="/login">
|
||||
<input disabled id="user_email" name="user[email]" value="test@example.com" type="text" />
|
||||
<input disabled id="user_gender_male" name="user[gender]" type="radio" value="M" />
|
||||
<label for="user_gender_male">Male</label>
|
||||
<input disabled id="user_gender_female" name="user[gender]" type="radio" value="F" checked="checked" />
|
||||
<label for="user_gender_female">Female</label>
|
||||
<input type="submit" />
|
||||
</form>
|
||||
EOS
|
||||
@session.should_receive(:get).with("/login", {})
|
||||
@session.clicks_button
|
||||
end
|
||||
|
||||
it "should send default checked fields" do
|
||||
@session.response_body = <<-EOS
|
||||
<form method="get" action="/login">
|
||||
|
|
Loading…
Reference in New Issue