Expose select_option through Webrat::Methods. Minor refactorings
This commit is contained in:
parent
f5ed57e042
commit
d576a72120
|
@ -366,8 +366,8 @@ module Webrat
|
|||
".//select"
|
||||
end
|
||||
|
||||
def find_option(text)
|
||||
options.detect { |o| o.matches_text?(text) }
|
||||
def options
|
||||
@options ||= SelectOption.load_all(@session, @element)
|
||||
end
|
||||
|
||||
protected
|
||||
|
@ -382,9 +382,5 @@ module Webrat
|
|||
end
|
||||
end
|
||||
|
||||
def options
|
||||
@options ||= SelectOption.load_all(@session, @element)
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
|
|
@ -12,14 +12,6 @@ module Webrat
|
|||
".//form"
|
||||
end
|
||||
|
||||
def find_select_option(option_text)
|
||||
select_fields = fields_by_type([SelectField])
|
||||
|
||||
select_fields.detect_mapped do |select_field|
|
||||
select_field.find_option(option_text)
|
||||
end
|
||||
end
|
||||
|
||||
def fields
|
||||
@fields ||= Field.load_all(@session, @element)
|
||||
end
|
||||
|
|
|
@ -17,7 +17,7 @@ module Webrat
|
|||
if @id_or_name_or_label
|
||||
field = FieldLocator.new(@session, @dom, @id_or_name_or_label, SelectField).locate!
|
||||
|
||||
field.send(:options).detect do |o|
|
||||
field.options.detect do |o|
|
||||
if @option_text.is_a?(Regexp)
|
||||
Webrat::XML.inner_html(o.element) =~ @option_text
|
||||
else
|
||||
|
@ -51,7 +51,7 @@ module Webrat
|
|||
|
||||
end
|
||||
|
||||
def find_select_option(option_text, id_or_name_or_label) #:nodoc:
|
||||
def select_option(option_text, id_or_name_or_label = nil) #:nodoc:
|
||||
SelectOptionLocator.new(@session, dom, option_text, id_or_name_or_label).locate!
|
||||
end
|
||||
|
||||
|
|
|
@ -40,6 +40,7 @@ module Webrat
|
|||
:reload, :reloads,
|
||||
:clicks_link_within, :click_link_within,
|
||||
:field_labeled,
|
||||
:select_option,
|
||||
:set_hidden_field, :submit_form,
|
||||
:request_page, :current_dom,
|
||||
:selects_date, :selects_time, :selects_datetime,
|
||||
|
|
|
@ -98,8 +98,7 @@ module Webrat
|
|||
# select "February", :from => "event_month"
|
||||
# select "February", :from => "Event Month"
|
||||
def select(option_text, options = {})
|
||||
option = find_select_option(option_text, options[:from])
|
||||
option.choose
|
||||
select_option(option_text, options[:from]).choose
|
||||
end
|
||||
|
||||
webrat_deprecate :selects, :select
|
||||
|
|
|
@ -223,6 +223,7 @@ module Webrat
|
|||
def_delegators :current_scope, :field_labeled
|
||||
def_delegators :current_scope, :field_by_xpath
|
||||
def_delegators :current_scope, :field_with_id
|
||||
def_delegators :current_scope, :select_option
|
||||
|
||||
private
|
||||
|
||||
|
|
Loading…
Reference in New Issue