Creation of a new parser to support the tracking of line numbers in error
reporting.
------------------------------------------------------------------------------------
Key: JBEHAVE-328
URL: http://jira.codehaus.org/browse/JBEHAVE-328
Project: JBehave
Issue Type: Improvement
Components: Core
Affects Versions: 3.1
Reporter: Mike Neeve
Fix For: 3.1
Attachments: jbehave-core.patch
Attached is a patch for JBehave.
The main change is the addition of a new parser. Its based on Eclipse JFace,
which means we can track line numbers in error reporting. It can also be
re-used for syntax highlighting in an Eclipse editor. JFace requires some
Eclipse libraries, so these are new dependencies which still work even though
we're not running in an OSGi container. The parser is also very fast compared
to the current regex-based parser - the longest running test was 25s for the
previous parser, and now its just 0.5s.
In ScenarioParserBehaviour we've written some tests for the default
configuration of JUnitScenario. They fail with the current parser but pass with
the new one which is able to throw a new ParseException for each type of
problem.
We've added one test to CandidateStepBehaviour.java that currently fails. Doug
tried fixing it by changing the ExamplesTable to be backed by a LinkedHashMap
which means that the arguments are automatically in the correct order. But this
did not work for other examples and couldn't figure out how to make it work, so
the test is currently broken. We'd need help to fix this.
Further proposed changes would improve the detection of problems such as:
- not having enough columns in the examples section to cover all the required
variables
- having more columns than required in the examples section
- checking the order of statements e.g. ensure a When comes after a Given
- allowing boolean's for parameters
The first two are quite difficult as it involves a good knowledge of the
CandidateStep class.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email