pegjs/spec
David Majda 5c40fff136 Pass spec code through Babel before serving it to the browser
This will allow to use ES2015 constructs in spec code.

The change required introducing a small server, which serves both PEG.js
and spec code passed through Babel and bundled together. This allowed to
convert the specs to regular modules and get rid of the hackery that was
previously needed to make them run both in Node.js and in the browser.

Note the specs no longer exercise the browser version. This will allow
to spec PEG.js internals in the future.

See #442.
2016-09-08 14:53:00 +02:00
..
api Pass spec code through Babel before serving it to the browser 2016-09-08 14:53:00 +02:00
behavior Pass spec code through Babel before serving it to the browser 2016-09-08 14:53:00 +02:00
unit Pass spec code through Babel before serving it to the browser 2016-09-08 14:53:00 +02:00
vendor/jasmine Upgrade jasmine and jasmine-node 2013-08-22 09:07:19 +02:00
.eslintrc.json Pass spec code through Babel before serving it to the browser 2016-09-08 14:53:00 +02:00
index.html Pass spec code through Babel before serving it to the browser 2016-09-08 14:53:00 +02:00
README.md Pass spec code through Babel before serving it to the browser 2016-09-08 14:53:00 +02:00
server Pass spec code through Babel before serving it to the browser 2016-09-08 14:53:00 +02: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 Node.js

All commands in the following steps need to be executed in PEG.js root directory (one level up from this one).

  1. Install all PEG.js dependencies, including development ones:

    $ npm install
    
  2. Execute the spec suite:

    $ make spec
    
  3. Watch the specs pass (or fail).

Running in the Browser

All commands in the following steps need to be executed in PEG.js root directory (one level up from this one).

  1. Make sure you have Node.js installed.

  2. Install all PEG.js dependencies, including development ones:

    $ npm install
    
  3. Serve the spec suite using a web server:

    $ spec/server
    
  4. Point your browser to the spec suite.

  5. Watch the specs pass (or fail).