Add support to click_button for IDs (Patch form Gwyn Morfey)
This commit is contained in:
parent
d7a9447d59
commit
cf55dbad94
@ -26,6 +26,7 @@
|
||||
* Support clicking links by title (Patch from Dan Barry)
|
||||
* Added missing spec for clicking image buttons (Patch from Tim Harper)
|
||||
* Switched tests to specs, and from Mocha to RSpec's mocking library
|
||||
* Add support to click_button for IDs (Patch form Gwyn Morfey)
|
||||
|
||||
* Bug fixes
|
||||
|
||||
|
@ -138,6 +138,10 @@ module Webrat
|
||||
@element.innerHTML =~ /#{Regexp.escape(text.to_s)}/i
|
||||
end
|
||||
|
||||
# def matches_id?(id)
|
||||
# @element["id"] =~ /^\W*#{Regexp.escape(id.to_s)}/i
|
||||
# end
|
||||
|
||||
def matches_value?(value)
|
||||
@element["value"] =~ /^\W*#{Regexp.escape(value.to_s)}/i || matches_text?(value) || matches_alt?(value)
|
||||
end
|
||||
|
@ -31,6 +31,7 @@ module Webrat
|
||||
def find_button(value = nil)
|
||||
return fields_by_type([ButtonField]).first if value.nil?
|
||||
possible_buttons = fields_by_type([ButtonField])
|
||||
possible_buttons.detect { |possible_button| possible_button.matches_id?(value) } ||
|
||||
possible_buttons.detect { |possible_button| possible_button.matches_value?(value) }
|
||||
end
|
||||
|
||||
|
@ -344,6 +344,16 @@ describe "clicks_button" do
|
||||
@session.clicks_button
|
||||
end
|
||||
|
||||
it "should find buttons by their IDs" do
|
||||
@session.response_body = <<-EOS
|
||||
<form action="/">
|
||||
<input type="submit" id="my_button" />
|
||||
</form>
|
||||
EOS
|
||||
@session.should_receive(:get)
|
||||
@session.clicks_button "my_button"
|
||||
end
|
||||
|
||||
it "should find image buttons by their alt text" do
|
||||
@session.response_body = <<-EOS
|
||||
<form action="/">
|
||||
|
Loading…
Reference in New Issue
Block a user