Ruby and Cucumber - What Does It Mean? "([^"] *) "$ /

I'm just trying to figure out what the below means in Ruby.

"([^"]*)"$/   

      

I have the following sample code in Ruby using cucumber at the moment:

require "watir-webdriver"
require "rspec/expectations"

Given /^I have entered "([^"]*)" into the query$/ do |term|
   @browser ||= Watir::Browser.new :firefox
   @browser.goto "google.com"
   @browser.text_field(:name => "q").set term
end

When /^I click "([^"]*)"$/ do |button_name|
   @browser.button.click
end

Then /^I should see some results$/ do
  @browser.div(:id => "resultStats").wait_until_present
  @browser.div(:id => "resultStats").should exist
  @browser.close
end

      

At the moment I understand that it does a boolean check that the button is clicked. I researched a bit and found the following for symbolic values ​​in Ruby (as I'm new to Ruby)

? = method returns a boolean value.   
$ = global variable   
@ = instance variable   
@@ = class variable.   
^ = bitwise XOR operator.   
* = unpack array 

      

I can't figure out what the command is doing. I am trying to clarify how functions are related to variables and I think this is the final clue for me.

Thanks a lot for any help.

+3


source to share


1 answer


This is a regular expression. The expression is contained between the "/" characters.

As an example and using your code:

/^I have entered "([^"]*)" into the query$/



interpreted as a string that:

  • Matches start of line (^)
  • Matches "I entered"
  • Matches one quote
  • (") Matches anything that is not a quote (([^"] *))
  • Matches "request"
  • Matches one quote (")
  • Matches end of line $

For more information on Ruby and Regular expressions, see http://www.tutorialspoint.com/ruby/ruby_regular_expressions.htm .

+6


source







All Articles