pegjs/spec
David Majda f866712c90 Regularize Jasmine custom matcher signatures
The "toParse" matcher in generated-parser-behavior.spec.js effectively
had these signatures:

  toParse(input)
  toParse(input, expected)
  toParse(input, options, expected)

This commit regularizes them to:

  toParse(input)
  toParse(input, expected)
  toParse(input, expected, options)

Similarly, the "toFailToParse" matcher in
generated-parser-behavior.spec.js effectively had these signatures:

  toFailToParse(input)
  toFailToParse(input, details)
  toFailToParse(input, options, details)

This commit regularizes them to:

  toFailToParse(input)
  toFailToParse(input, details)
  toFailToParse(input, details, options)

Finally, the "toChangeAST" matcher in helpers.js effectively had these
signatures:

  toChangeAST(grammar, details)
  toChangeAST(grammar, options, details)

This commit regularizes them to:

  toChangeAST(grammar, details)
  toChangeAST(grammar, details, options)

The overall purpose of these changes is to avoid different parameters
appearing at the same position, which is hard to manage without using
"arguments".
2016-04-27 13:24:00 +02:00
..
api ESLint: Set environments better 2016-01-29 14:50:38 +01:00
behavior Regularize Jasmine custom matcher signatures 2016-04-27 13:24:00 +02:00
unit Regularize Jasmine custom matcher signatures 2016-04-27 13:24:00 +02:00
vendor/jasmine Upgrade jasmine and jasmine-node 2013-08-22 09:07:19 +02:00
.eslintrc.json ESLint: Set environments better 2016-01-29 14:50:38 +01:00
helpers.js ESLint: Set environments better 2016-01-29 14:50:38 +01:00
index.html Update version to 0.9.0 2015-08-30 08:22:26 +02:00
README.md Use sentence case consistently in {spec,benchmark}/README.md headers 2014-05-10 16:40:39 +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 and Python installed.

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

    $ npm install

  3. Build browser version of PEG.js:

    $ make browser

  4. Serve PEG.js root directory using a web server:

    $ python -m SimpleHTTPServer

  5. Point your browser to the spec suite.

  6. Watch the specs pass (or fail).