lib/cucumber/pickles/steps/click.rb in pickles-0.2.2 vs lib/cucumber/pickles/steps/click.rb in pickles-0.2.3

- old
+ new

@@ -1,34 +1,24 @@ -def wait_flags(text) - if text.starts_with?('>') - text = text[1..-1] - - Waiter.wait_for_ajax - - js_wait = true - end - - if text.ends_with?('>') - text = text.chomp('>') - - ajax_wait = true - end - - [js_wait, text, ajax_wait] -end - def trigger(text, event, within) - js_wait, text, ajax_wait = wait_flags(text) + locator, wait_time = Locator::Wait.execute(text) - if js_wait - Waiter.wait { Pickles.find_node(text, within: within).public_send(event) } + if wait_time.nil? || wait_time > 0 + Waiter.wait do + Pickles.trigger( + Pickles.find_node(text, within: within), + event + ) + end else - Pickles.find_node(text, within: within).public_send(event) + Pickles.trigger( + Pickles.find_node(text, within: within), + event + ) end - Waiter.wait_for_ajax if ajax_wait + Waiter.wait_for_ajax end # # Use this to click anything anywhere: @@ -51,12 +41,10 @@ # When /^I (?:click|navigate) "([^"]*)"( within (?:.*))?$/ do |click_text, within| Waiter.wait_for_ajax click_text.split(/,|->/).each do |text| - pry binding if text['pry'] - trigger(text, 'click', within) end Waiter.wait_for_ajax end @@ -68,10 +56,9 @@ # | hover | Your span | # | click | Your button | # When /^I (?:click|navigate):( within (?:.*))?$/ do |within, table| do_click = -> (event, text) do - pry binding if text['pry'] event = 'click' if event.strip.blank? trigger(text, event, within) end