pegjs/spec
David Majda af701dcf80 Error handling: Implement the |expected| function
The |expected| function allows users to report regular match failures
inside actions.

If the |expected| function is called, and the reported match failure
turns out to be the cause of a parse error, the error message reported
by the parser will be in the usual "Expected ... but found ..." format
with the description specified in the |expected| call used as part of
the message.

Implements part of #198.

Speed impact
------------
Before:     1146.82 kB/s
After:      1031.25 kB/s
Difference: -10.08%

Size impact
-----------
Before:     950817 b
After:      973269 b
Difference: 2.36%

(Measured by /tools/impact with Node.js v0.6.18 on x86_64 GNU/Linux.)
2013-12-01 16:12:35 +01:00
..
compiler/passes Error handling: Implement the |expected| function 2013-12-01 16:12:35 +01:00
vendor/jasmine Upgrade jasmine and jasmine-node 2013-08-22 09:07:19 +02:00
generated-parser.spec.js Error handling: Implement the |expected| function 2013-12-01 16:12:35 +01:00
helpers.js Fix too eager proxy rules removal 2013-01-06 10:17:10 +01:00
index.html
parser.spec.js Remove the |startRule| property from the AST 2013-01-06 10:21:48 +01:00
README

PEG.js Spec Suite
=================

This is the PEG.js spec suite. It ensures PEG.js works correctly. All specs
should always pass on all supported platforms.

Running in a browser
--------------------

  1. Make sure you have Node.js and all the development dependencies specified
     in package.json installed.

  2. Run the following command in the PEG.js root directory (one level up from
     this one):

       make browser

  3. Start a web server and make it serve the PEG.js root directory.

  4. Point your browser to an URL corresponding to the index.html file.

  5. Watch the specs pass (or fail).

If you have Python installed, you can fulfill steps 3 and 4 by running the
following command in the PEG.js root directory

  python -m SimpleHTTPServer

and loading http://localhost:8000/spec/index.html in your browser.

Running from a command-line
---------------------------

  1. Make sure you have Node.js and all the development dependencies specified
     in package.json installed.

  2. Run the following command in the PEG.js root directory (one level up from
     this one):

       make spec

  3. Watch the specs pass (or fail).