diff options
author | Linus Groh <mail@linusgroh.de> | 2020-04-19 14:12:35 +0100 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2020-04-19 15:22:31 +0200 |
commit | 440f01794655b8ab6bb244c8fe70b7523e38dc35 (patch) | |
tree | f70f02ae5d2d7a84bfbf6ea3a0fe6996211787bf /Base/usr/share/man | |
parent | afdba94f63abb3961afdcd33c9ce7f9f435a812b (diff) | |
download | serenity-440f01794655b8ab6bb244c8fe70b7523e38dc35.zip |
Base: Update js(1) manpage
- Include all options
- Update example REPL session to match current output
- Mention REPL's help()
- Add test mode section
Diffstat (limited to 'Base/usr/share/man')
-rw-r--r-- | Base/usr/share/man/man1/js.md | 33 |
1 files changed, 30 insertions, 3 deletions
diff --git a/Base/usr/share/man/man1/js.md b/Base/usr/share/man/man1/js.md index 1680e42f1d..2c47cb7733 100644 --- a/Base/usr/share/man/man1/js.md +++ b/Base/usr/share/man/man1/js.md @@ -17,11 +17,15 @@ single lines) of code from standard input, evaluates them in one shared interpreter context, and prints back their results. This mode is useful for quickly experimenting with LibJS. +Run `help()` in REPL mode to see its available built-in functions. + ## Options * `-A`, `--dump-ast`: Dump the Abstract Syntax Tree after parsing the program. * `-l`, `--print-last-result`: Print the result of the last statement executed. * `-g`, `--gc-on-every-allocation`: Run garbage collection on every allocation. +* `-s`, `--syntax-highlight`: Enable live syntax highlighting in the REPL +* `-t`, `--test-mode`: Run the interpreter with added functionality for the test harness ## Examples @@ -36,10 +40,33 @@ And here's an example of an interactive REPL session: ```js $ js > function log_sum(a, b) { -. console.log(a + b) -. } -[object ScriptFunction] +> console.log(a + b) +> } +undefined > log_sum(35, 42) 77 undefined ``` + +## Test mode + +In test mode, the `load()` function is added to the global object and can be used +to load further test utility functions defined in `LibJS/Tests/test-common.js`. + +Typically a test will look like this: + +```js +load("test-common.js"); + +try { + // test feature + console.log("PASS"); +} catch (e) { + console.log("FAIL: " + e); +} +``` + +Available functions in `test-common.js`: + +* `assert(expression)`: Throws an `AssertionError` if condition does not evaluate to a truthy value +* `assertNotReached()`: Throws an `AssertionError`, use to ensure certain code paths are never reached |