pegjs/spec
David Majda 1b2279e026 Error handling: Make predicates always return |undefined|
After making the |?| operator return |null| instead of an empty string
in the previous commit, empty strings were still returned from
predicates. This didn't make much sense.

Return value of a predicate is unimportant (if you have one in hand, you
already know the predicate succeeded) and one could even argue that
predicates shouldn't return any value at all. The closest thing to
"return no value" in JavaScript is returning |undefined|, so I decided
to make predicates return exactly that.

Implements part of #198.
2013-12-01 16:12:35 +01:00
..
compiler/passes Error handling: Make predicates always return |undefined| 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: Make predicates always return |undefined| 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 Code generator rewrite 2013-01-01 16:38:09 +01:00
parser.spec.js Remove the |startRule| property from the AST 2013-01-06 10:21:48 +01:00
README Git repo npmization: Make the repo a npm package 2012-11-10 14:21:14 +01:00

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).