On Mon, Sep 15, 2008 at 2:56 PM, David Chelimsky <[EMAIL PROTECTED]> wrote: > On Mon, Sep 15, 2008 at 7:49 AM, aslak hellesoy > <[EMAIL PROTECTED]> wrote: >> On Mon, Sep 15, 2008 at 2:40 PM, David Chelimsky <[EMAIL PROTECTED]> wrote: >>> On Mon, Sep 15, 2008 at 3:54 AM, Joseph Wilk <[EMAIL PROTECTED]> wrote: >>>>>>> Then /I should see "(.*)" in the page/ do |text| >>>>> >>>>> That should raise an AmbiguousStep error if you also have /I should >>>>> see "(.*)"/. >>>> >>>> Oops sorry, thanks for spotting that David. >>>> >>>> It seems that it would be good practice to use $ and ^ in all your >>>> regular expression steps in order to minimise surprise conflicts. >>>> >>>> You can still use non-regular expression steps in Cucumber: >>>> >>>>>Then "I should see '$value' in the page" do |value| >>>> >>>> This issue does make me think about the regular expressions to step >>>> matching. >>>> >>>> My intuition would be that if a regular expression did not consume all >>>> the tokens of a step string then it would not be a match for the step >>>> (even though it would be in the regular expression domain). What do >>>> people think? >>>> >> >> Isn't that what Cucumber does though? >> >> http://github.com/aslakhellesoy/cucumber/tree/master/lib/cucumber/step_mother.rb#L30 >> (prepending ^ and appending $ to the regexp that's generated from the string) > > Only if you give it a String. Not if you give it a regexp. Unless I'm > missing something (which is entirely possible this fine Monday > morning). >
It would be extremely confusing if Cucumber invented its own regexp matching semantics so that: /hello/ doesn't match "hello world" I'd rather people a) learn regexp (and write /hello$/) b) use the string syntax Or have I completely misunderstood? Aslak >> >> Aslak >> >>>> I've been unable to think of a good example where I would want only a >>>> partial match of a step. Throwing away the unmatched characters. Does >>>> anyone have good examples where they would? >>> >>> I think you've got this right and exposed a bug. Wanna report it to >>> lighthouse and/or fix it? >>> >>> Thanks, >>> David >>> >>>> >>>> Joseph Wilk >>>> -- >>>> http://www.joesniff.co.uk >>>> >>>> >>>> David Chelimsky wrote: >>>>> On Sun, Sep 14, 2008 at 9:13 AM, Joseph Wilk <[EMAIL PROTECTED]> >>>>> wrote: >>>>>> >>>>>>> Then /I should see "(.*)" in the page/ do |text| >>>>> >>>>> That should raise an AmbiguousStep error if you also have /I should >>>>> see "(.*)"/. What I've been doing is stuff like ... >>>>> >>>>> Then /the list of (.*) should incude "(.*)"/ >>>>> >>>>> ... in order to differentiate. I'll say that I do allow this to impose >>>>> html element IDs: >>>>> >>>>> Then /the list of (.*) should incude "(.*)"/ do |list_of, text| >>>>> list_id = list_of.downcase.replace(' ','-') >>>>> response.should have_tag("ul##{list_id}") do >>>>> with_tag("li",text) >>>>> end >>>>> end >>>>> >>>>> But this one step covers a lot of cases for me. >>>>> >>>>> Thoughts? >>>>> >>>>> David >>>> >>>> -- >>>> Posted via http://www.ruby-forum.com/. >>>> _______________________________________________ >>>> rspec-users mailing list >>>> rspec-users@rubyforge.org >>>> http://rubyforge.org/mailman/listinfo/rspec-users >>>> >>> _______________________________________________ >>> rspec-users mailing list >>> rspec-users@rubyforge.org >>> http://rubyforge.org/mailman/listinfo/rspec-users >>> >> _______________________________________________ >> rspec-users mailing list >> rspec-users@rubyforge.org >> http://rubyforge.org/mailman/listinfo/rspec-users >> > _______________________________________________ > rspec-users mailing list > rspec-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users > _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users