065f4e1b75
Replace |line|, |column|, and |offset| properties of |SyntaxError| with the |location| property. It contains an object similar to the one returned by the |location| function available in action code: { start: { offset: 23, line: 5, column: 6 }, end: { offset: 25, line: 5, column: 8 } } For syntax errors produced in the middle of the input, |start| refers to the first unparsed character and |end| refers to the character behind it (meaning the span is 1 character). This corresponds to the portion of the input in the |found| property. For syntax errors produced the end of the input, both |start| and |end| refer to a character past the end of the input (meaning the span is 0 characters). For syntax errors produced by calling |expected| or |error| functions in action code the location info is the same as the |location| function would return. |
||
---|---|---|
.. | ||
api | ||
behavior | ||
unit | ||
vendor/jasmine | ||
helpers.js | ||
index.html | ||
README.md |
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).
-
Install all PEG.js dependencies, including development ones:
$ npm install
-
Execute the spec suite:
$ make spec
-
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).
-
Make sure you have Node.js and Python installed.
-
Install all PEG.js dependencies, including development ones:
$ npm install
-
Build browser version of PEG.js:
$ make browser
-
Serve PEG.js root directory using a web server:
$ python -m SimpleHTTPServer
-
Point your browser to the spec suite.
-
Watch the specs pass (or fail).