What does the "matcher extension" mean? E.g. some separate gem, which
adds that method?

Didn't know that ActiveSupport adds #in? to Object, but it doesn't
conflict with matcher's #in anyway.

Jarmo

On Apr 17, 6:58 pm, Justin Ko <jko...@gmail.com> wrote:
> On Sun, Apr 17, 2011 at 10:01 AM, David Chelimsky <dchelim...@gmail.com>wrote:
>
>
>
>
>
>
>
>
>
> > On Apr 16, 2011, at 4:56 PM, Jarmo Pertman wrote:
>
> > > Hello!
>
> > > I've just added a new cool matcher #in into my framework WatirSplash
> > > and thought that this could be integrated into RSpec directly actually
> > > if there's any interest.
>
> > > WatirSplash uses Watir (or Watir-like) frameworks for testing web
> > > pages via browser. If you're not familiar with it then here is a short
> > > example how you had to test ajax-heavy application before:
>
> > >  browser.link(:id => "someid").click
> > >  # let's wait up to 5 seconds for div to become visible
> > >  browser.wait_until(5) {browser.div(:id => "otherid").visible?}
>
> > > It was quite cumbersome and i thought about adding and #in matcher to
> > > all matchers so i can do something like this instead:
> > >  # clicking the link changed div's text from "before" to "after" in a
> > > maximum of 2 seconds
> > >  expect {
> > >      link.click
> > >  }.to change {div.text}.from("before").to("after").in(2)
>
> > >  # clicking link makes div as present in a maximum of 2 seconds
> > >  link.click
> > >  div.should be_present.in(2)
>
> > >  # clicking link makes div as visible in a maximum of 2 seconds
> > >  expect {
> > >      link.click
> > >  }.to make {div.visible?}.in(2)
>
> > >  # use ActiveSupport for adding more meaning to numbers
> > >  require "active_support"
> > >  div.should exist.in(2.minutes)
>
> > > What do you guys think? Should i add that also into rspec-expectations
> > > to make spec-ing easier where timing is involved? :)
>
> > > Jarmo Pertman
>
> > I _think_ I like the idea of a timing constraint, but #in seems too general
> > to me. In fact, ActiveSupport is adding an #in? predicate [1] to Object that
> > lets you specify that an object is in a collection:
>
> >  4.in?([2,3,4])
>
> > Also, I'm not sure if I'd want this to be a matcher extension or something
> > built into rspec core. I'm open to ideas though. Anybody else?
>
> > [1]https://github.com/rails/rails/pull/258
> > _______________________________________________
> > rspec-users mailing list
> > rspec-us...@rubyforge.org
> >http://rubyforge.org/mailman/listinfo/rspec-users
>
> Definitely matcher extension.
>
> _______________________________________________
> rspec-users mailing list
> rspec-us...@rubyforge.orghttp://rubyforge.org/mailman/listinfo/rspec-users
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to