00:57
ashley_moran joined
01:30
<zan>
hi, i'm encountering a prb where all my steps pass, but the scenario fail
01:31
<zan>
is there a clue as to how to debug this?
01:31
joshkalderimis joined
01:55
aslakhellesoy joined
01:56
<GitHub191>
cucumber: 07master 03aslakhellesoy * 3897989 (9 files in 4 dirs): Bugfix: Tab indentation causes multiline step arguments to fail [#585 state:resolved] -
http://bit.ly/b3NaHO
02:04
<GitHub169>
cucumber: 07master 03aslakhellesoy * 4f2b799 (5 files in 1 dirs): Remove duplication -
http://bit.ly/bUZk6O
02:11
<GitHub45>
cucumber: 07master 03aslakhellesoy * 717780e (2 files in 2 dirs): Attempt to fix Cucumber::CODEPAGE error again for Windows [#561 state:resolved] -
http://bit.ly/cpNY0g
02:23
<GitHub187>
cucumber: 07master 03aslakhellesoy * de747cf (3 files in 3 dirs): #announce can now take non-String arguments just like Kernel#puts - #to_s is done implicitly. -
http://bit.ly/coZLML
03:03
Flydoire|Taktik joined
03:03
<Flydoire|Taktik>
hi everyone
03:04
<Flydoire|Taktik>
I have a problem with Unix symbolic links on "features" folder -> they are not followed
03:04
<Flydoire|Taktik>
where do I report bugs on cucumber ?
03:09
<Flydoire|Taktik>
thanks
03:44
<tils>
hello everybody
03:44
<tils>
does anyone know how to find out and change the browser version used by culerity/celerity/htmlunit?
03:45
<jarib>
tils: Celerity::Browser.new(:browser => :firefox)
03:45
<jarib>
(check the docs for alternatives)
03:45
<tils>
jarib: ok thanks
03:48
<* tils>
searches culerity code where it sets the browser options
04:11
joshkalderimis joined
04:32
jschoolcraft joined
06:07
<matthewford>
can webdriver-selenium run headless, so my cucumber specs run on an intergration server ?
06:23
<hka>
Matthew - Yes, you can use the HtmlUnit driver. This does, however, have a few limitations regarding javascript support.
06:31
<jarib>
matthewford: either htmlunit (through the remote driver) or xvfb/vnc + firefox
06:33
<hka>
You shouldn't need remote webdriver to run HtmlUnit. It can run directly from the build script on you ci server.
06:34
<jarib>
hka: not with the selenium-webdriver gem
06:35
<jarib>
you need java somewhere for htmlunit
06:35
<matthewford>
jarib, thanks
06:37
<matthewford>
anyone tried steam, it seems to use HtmlUnit
07:08
<* Pistos>
reasks: Does anyone here use Pivotal Tracker? :)
07:13
<josephwilk>
Pistos Used to
07:14
<Pistos>
josephwilk: What did you think of it? And why did you stop? :)
07:15
<josephwilk>
Pistos Its great if you want an eletronic system, I stopped as I prefer a realy board with cards.
07:18
<Pistos>
josephwilk: Okay, thanks for your comments.
07:18
<Pistos>
I'm test driving it for my team. Feels like a great project tracker for development teams.
08:37
<malkomalko>
hey all, another cuke4duke question... just running up against this right now on multiple machines
08:37
<malkomalko>
when running mvn -Dcucumber.installGems=true cuke4duke:cucumber... it seems like I'm getting this stacktrace message: No such file or directory - File not found - null (Errno::ENOENT)
08:37
<malkomalko>
with the failing line at : /Users/pair/.m2/repository/.jruby/gems/cucumber-0.6.3/lib/cucumber/feature_file.rb:36:in `initialize'
08:37
<malkomalko>
this happens after the gems are installed.. I tried this with multiple ruby versions on a few different machines and I'm getting the same results.. any idea?
08:40
<msassak>
malkomalko does this happen when you run cucumber by hand and pass in only the path to a feature?
08:40
<malkomalko>
this is with mvn or running it by hand from inside the .m2 repo
08:41
<msassak>
that's weird... you're sure the path to the feature is correct?
08:42
<malkomalko>
pretty sure yes.. features folder in the root of the path I'm running the mvn command from
08:42
<msassak>
what happens if you invoke cucumber with only the name of a single feature?
08:42
<msassak>
like "cucumber features/my.feature"? does it read it?
08:43
<malkomalko>
let me try that
08:43
<malkomalko>
~/.m2/repository/.jruby/bin/cucumber features/pull_campaign_entities.feature
08:43
<malkomalko>
env: jruby: No such file or directory
08:44
<msassak>
err sorry try "jruby -S cucumber features/my.feature"
08:48
<malkomalko>
i have to install it through jruby.. I wasn't using normal cucumber.. I was using cuke4duke
08:48
<malkomalko>
one sec
08:49
<malkomalko>
that runs cucumber as though it's looking for ruby, not java
08:51
<msassak>
the reason i ask is because that error is usually a pretty straightforward "That feature file doesn't exist"--it doesn't have much to do with anything in java land
08:57
<malkomalko>
aight, thanks anyway
09:03
<preppy>
has anyone worked with lists in cucumber before?
09:04
<msassak>
preppy what do you mean by that?
09:12
<preppy>
well lets say i'm trying to write a cucumber story around a RESTful model
09:12
<preppy>
the index page is usually a list of AR's
09:12
<preppy>
how would i structure a scenario to say that "I follow 'link' for 'row_item'"
09:14
<msassak>
you can select specific things to follow using xpath or css selectors
09:15
<preppy>
could you give me an example?
09:15
<msassak>
that's the general solution--if you look in the generated web_steps.rb in features/step_definitions, you can see how it is used
09:15
<msassak>
basically, you specify a selector that narrows the scope down
09:16
<preppy>
so use "follow 'link' within 'xpath'"
09:16
<msassak>
like within("#active_record_model_1") do click_link("View") end
09:16
<preppy>
okay i'll try taht
09:17
<msassak>
what feature are you driving out that requires this?
09:17
<preppy>
updating an item from the list
09:17
<preppy>
i need to click the link to edit
09:17
<msassak>
(in my experience verifying that an index page has a bunch of items on it isn't usually where the value is)
09:18
<msassak>
in that case I would go straight to the edit page
09:18
<preppy>
and skip the page where you click from?
09:20
<msassak>
if you scenario revolves around editing a single item, start at that item
09:21
<msassak>
it all depends on what it is you are developing with that scenario
09:22
<msassak>
the question is whether the scenario is about showing that items in a collection can be navigated to from the collection listing, or that items can be edited and the changes saved
09:23
<preppy>
well i have a scenario for a single item already
09:24
<preppy>
so this scenario is for the first part of your statement
09:24
<msassak>
okay cool :-)
09:24
<preppy>
yea my original scenario was for one item is the user's list
09:24
<preppy>
and this one creates 10 items
09:25
<preppy>
so i'll try out the "within" and see if i can get the link to work
10:06
farooqyousuf joined
10:33
matthewford_ joined
11:06
<lucasbz>
debugging in cucumber, how do I do that?
13:56
aslakhellesoy joined
13:59
<matt2s>
I have an external service to the web app I'm testing. Do you guys mock it when running cucumber, or test through the complete stack?
14:00
<josephwilk>
Initally against the service, but using that to provide examples to create a fake service.
14:01
<josephwilk>
So not mocking as such, just making the service hotswopeable for a fake version
14:06
<matt2s>
I see, I'll think a bit on how I should do this. It's just xml-rpc calls to a server listening, so it should be fairly trivial to "fake" it
14:07
<matt2s>
I was thinking of abstracting the entire service behind an interface / adapter and just mock the adapter or something. Then I can create more specialized tests for the adapter afterwards or something
14:07
<msassak>
aslakhellesoy got a minute?
14:07
<aslakhellesoy>
msassak: of course
14:08
<msassak>
i'm ready to go ahead with the changes to gherkin
14:08
<msassak>
but i wanted to talk a bit about the builder interface with cucumber to make sure i'm thinking the same as you
14:09
<aslakhellesoy>
msassak: sounds great. what are you wondering about?
14:09
<msassak>
i imagine that when we go to one event per row, the builder in cucumber will need to cache rows like it does with tags, and then pass that into Table.new, is that correct?
14:11
<aslakhellesoy>
msassak: that was my thinking yes
14:11
<aslakhellesoy>
and on the way, comments can happen too
14:11
<msassak>
what do you think about table_start and table_end messages?
14:11
<aslakhellesoy>
so i think we'll create row objects - with an optional comment hanging on top
14:12
<aslakhellesoy>
and a table consists of rows
14:12
<aslakhellesoy>
i'm not sure we need a table_start and table_end
14:12
<aslakhellesoy>
would be nice to do without i think - simpler api?
14:13
<msassak>
greg thought that, too, and now i'm leaning in that direction
14:13
<msassak>
i think this will make the ragel much simpler, actually
14:13
<msassak>
so that's good
14:13
<aslakhellesoy>
great. let's try that first
14:13
<aslakhellesoy>
even better
14:14
<aslakhellesoy>
anything else?
14:15
<aslakhellesoy>
ok, i have something
14:15
<aslakhellesoy>
refactoring strategy
14:15
<aslakhellesoy>
or: what to do to marry gherkin with cucumber
14:15
<aslakhellesoy>
we've explored a lot of ideas on the gherkin branch
14:16
<aslakhellesoy>
and i'm thinking we're trying to bite over too much at the same time
14:16
<aslakhellesoy>
new parser, new ast, plugins etc
14:16
<aslakhellesoy>
so here is an idea i'd like to try
14:16
<aslakhellesoy>
1) refactor master (treetop) to behave like the current gherkin
14:17
<aslakhellesoy>
leave the ast mostly unchanged
14:17
<aslakhellesoy>
2) at this point swapping in gherkin will be rather easy - and an isolated task
14:17
<aslakhellesoy>
when this works we can ditch treetop, but we still have the current ast
14:18
<aslakhellesoy>
once that's done we can work with a new model
14:18
<msassak>
that sounds like a good idea
14:18
<aslakhellesoy>
and the goal of a new model in my view is:
14:18
<aslakhellesoy>
1) a simpler formatter api
14:19
<aslakhellesoy>
2) less bugs in the whole model lifecycle - we have some funky bugs related to backgrounds, hooks etc.
14:19
<aslakhellesoy>
and in general a simpler and better model
14:19
<aslakhellesoy>
however, a fast parser has higher pri than a clean model
14:19
<aslakhellesoy>
and we can work on them once at a time
14:20
<aslakhellesoy>
in smaller chunks :-)
14:20
<aslakhellesoy>
are you with me?
14:20
<msassak>
that sounds very reasonable
14:20
<msassak>
most definitely with you
14:20
<aslakhellesoy>
great
14:20
<msassak>
it's been a long time, and i think getting something out the door will be good for everyone's spirits
14:20
<aslakhellesoy>
so when we have gherkin in, we can pick the good parts from the gherkin branch' experiments
14:20
<aslakhellesoy>
yes, absolutely
14:21
<aslakhellesoy>
i need something small and achievable to attack
14:21
<msassak>
well, refactoring the treetop API is a good place to start
14:21
<aslakhellesoy>
yes. haven't thought about how exactly
14:21
<aslakhellesoy>
logic will have to move out of the parser to somewhere else
14:22
<aslakhellesoy>
probably some kind of builder that sits between the parser and the ast
14:22
<aslakhellesoy>
-like we're planning to do with gherkin
14:22
<aslakhellesoy>
yeah - a builder that has the gherkin listener api
14:22
<aslakhellesoy>
but builds the current master ast
14:22
<msassak>
i'd have to look at the gherkin branch closely again, but i don't think that building the current ast would be *that* hard
14:22
<msassak>
there would be a lot of caching of things, if i remember
14:23
<msassak>
but you can depend on the well-orderedness of the messages, so that helps a lot
14:23
<aslakhellesoy>
i may have some time to work on this tomorrow night and sunday
14:24
<aslakhellesoy>
feel free to start if you have time
14:24
<msassak>
i'll probably work on gherkin first
14:24
<aslakhellesoy>
but tbh it would be great if you could work on the gherkin refactoring so that stabilises
14:24
<aslakhellesoy>
yeah
14:24
<msassak>
that's my focus at the moment, yes
14:25
<msassak>
what time is tomorrow night for you?
14:25
<aslakhellesoy>
then we should make new releases and upload .net .dlls to github's new file upload section
14:25
<aslakhellesoy>
i'm 6 hours ahead of you
14:25
<aslakhellesoy>
you're eastern time right?
14:25
<aslakhellesoy>
so 9ish my time and 3-4 hours
14:25
<msassak>
i mean, when you say "tomorrow night", do you mean 10PM your time, 8PM...?
14:26
<msassak>
well if you start at 9 tomorrow, I can be around for a few hours at least
14:26
<aslakhellesoy>
with the possibility of getting caught up with other stuff, but i'll resist :-)
14:26
<msassak>
if you need someone to bounce ideas off of
14:26
<aslakhellesoy>
let's just see - if i'm online i'm online :-)
14:26
<aslakhellesoy>
yes - need a pair
14:27
<aslakhellesoy>
or at least someone to discuss with
14:27
<aslakhellesoy>
i'm a little demoralised by the many failed attempts to integrate gherkin
14:27
<aslakhellesoy>
but pretty sure this will work smoothly
14:27
<msassak>
same here
14:28
<msassak>
there were too many moving parts at once
14:28
<aslakhellesoy>
we never learn do we
14:28
<msassak>
and i think it points to the need for some stable interfaces deeper inside cucumber
14:28
<aslakhellesoy>
gotta go review the peepcode screencast
14:29
<aslakhellesoy>
it's slick!
14:29
<msassak>
i watched the first 10 minutes or so
14:29
<msassak>
peepcode is always so impressive
14:29
<aslakhellesoy>
extremely well put together
14:29
<msassak>
definitely
14:30
<aslakhellesoy>
kk - catch you tomorrow hopefully
14:30
<msassak>
sounds good