[rspec-users] Using semantics in steps

Andrew Premdas apremdas at gmail.com
Fri Dec 19 13:53:19 EST 2008


A style thing, just exploring interactions between features and UI

2008/12/19 David Chelimsky <dchelimsky at gmail.com>

> Is this a feature request or a style thing?
>
> On Fri, Dec 19, 2008 at 11:01 AM, Aslak Hellesøy
> <aslak.hellesoy at gmail.com> wrote:
> >
> >> On Fri, Dec 19, 2008 at 1:09 AM, Andrew Premdas <apremdas at gmail.com>
> >> wrote:
> >>>
> >>> Hi All,
> >>>
> >>> Wanted to put this idea forward, see what you think of it. I'm using
> >>> Aslaks
> >>> lorry feature to illustrate this. See
> >>>
> >>>
> http://github.com/aslakhellesoy/cucumber_rails/tree/master/features/step_definitions/lorry_steps.rb
> .
> >>>
> >>> In particular
> >>>
> >>>  within("table > tr:nth-child(#{pos.to_i+1})") do
> >>>   click_link "Destroy"
> >>> and
> >>>
> >>> Then /^I should see the following lorries:$/ do |lorries|
> >>>  lorries.raw[1..-1].each_with_index do |row, i|
> >>>   row.each_with_index do |cell, j|
> >>>     response.should have_selector("table > tr:nth-child(#{i+2}) >
> >>> td:nth-child(#{j+1})") { |td|
> >>>       td.inner_text.should == cell
> >>>     }
> >>>   end
> >>>  end
> >>> Now imagine this is a real project, and your designer comes along and
> >>> decides that lorries really should be shown in a horizontal scrolling
> >>> zoomable javascript widgity thing. Now out go the tables and the
> scenario
> >>> breaks.
> >>>
> >>> However if we use something like
> >>>
> >>> within("#lorries > .lorry:nth-child            # not tested this
> syntax,
> >>> hope the meaning is clear
> >>>
> >>> then we have
> >>>
> >>> 1) Defined semantic tags that the designer should not touch
> >>> 2) Not relied on any html elements that a designer might change
> >>> 3) Created a step that works with the meaning of the UI not its
> >>> presentation
> >>>
> >>> So what do you think?
> >>>
> >>
> >
> > Feel free to submit a patch.
> >
> > Aslak
> >
> >> I agree with your sentiments. It's how I access (and encourage others
> >> to access) the views (both in step definitions and in view specs).
> >>
> >> --
> >> Zach Dennis
> >> http://www.continuousthinking.com
> >> http://www.mutuallyhuman.com
> >> _______________________________________________
> >> rspec-users mailing list
> >> rspec-users at rubyforge.org
> >> http://rubyforge.org/mailman/listinfo/rspec-users
> >
> > _______________________________________________
> > rspec-users mailing list
> > rspec-users at rubyforge.org
> > http://rubyforge.org/mailman/listinfo/rspec-users
> >
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/rspec-users/attachments/20081219/a5bf22e8/attachment.html>


More information about the rspec-users mailing list