about summary refs log tree commit diff
path: root/tests/javascript.scm
AgeCommit message (Collapse)Author
4 daysjavascript: Implement function body expressions.Arun Isaac
4 daysjavascript: Tokenize using PEG grammar.Arun Isaac
Javascript expressions may contain recursively nested parentheses. Matching these parentheses and tokenizing correctly requires a real parser.
5 daystests: Canonicalize JSON trees before comparing them.Arun Isaac
We must canonicalize JSON trees before comparing them since the order of keys in JSON objects is insignificant.
5 daystests: Add null parameter reference tests.Arun Isaac
5 daysjavascript: Provide evaluate-javascript-expression as the interface.Arun Isaac
Rename evaluate-parameter-reference to evaluate-javascript-expression. Adjust invocations and tests. Javascript expressions are more general than parameter references. Hence, it makes sense that the public interface is named after them.
5 daysjavascript: Declare variables using var.Arun Isaac
2025-11-16javascript: Refer to parameter context variables in G-expression.Arun Isaac
2024-10-08javascript: Do not serialize JSON if not interpolating string.Arun Isaac
* ravanan/javascript.scm (evaluate-parameter-reference): Do not serialize JSON tree if not interpolating parameter reference. * tests/javascript.scm ("evaluate parameter reference to JSON object", "evaluate parameter reference to JSON object using node"): New tests. ("evaluate parameter reference with node", "evaluate parameter reference (without context)", "evaluate parameter reference with node (without context)"): Update tests.
2024-10-08tests: Add tests for javascript G-expressions.Arun Isaac
* tests/javascript.scm: Import (guix gexp) and (ice-9 match). (gexp->sexp-rec): New function. ("evaluate parameter reference (without context)", "evaluate parameter reference with string interpolation (without context)", "evaluate parameter reference with string interpolation of JSON trees (without context)", "evaluate parameter reference with node (without context)", "evaluate parameter reference with string interpolation using node (without context)", "evaluate parameter reference with string interpolation of JSON trees using node (without context)"): New tests.
2024-10-04javascript: Unify simple parameter reference and node fallback.Arun Isaac
* ravanan/command-line-tool.scm: Do not import (ravanan config), and node from (gnu packages node). (%worker-node): Move to (ravanan javascript). (interpolate-parameter-references): Delete function. (coerce-expression): Always call evaluate-parameter-reference from (ravanan javascript). * ravanan/work/command-line-tool.scm (evaluate-parameter-reference): Delete function. * ravanan/javascript.scm: Mention fallback to node in module commentary. Import (ravanan config), (ravanan work command-line-tool), and node from (gnu packages node). (evaluate-simple-parameter-reference): Rename to evaluate-parameter-reference. (evaluate-parameter-reference-1, evaluate-parameter-reference): Add expression-lib argument. Return regular values, not maybe-monadic values. (evaluate-using-node): New function. * tests/javascript.scm ("evaluate parameter reference", "evaluate parameter reference with string interpolation", "evaluate parameter reference with string interpolation of JSON trees"): Update tests. ("evaluate parameter reference with node", "evaluate parameter reference with string interpolation using node", "evaluate parameter reference with string interpolation of JSON trees using node"): New tests.
2024-10-04javascript: Implement parameter reference javascript subset language.Arun Isaac
* ravanan/javascript.scm, tests/javascript.scm: New files. * ravanan/command-line-tool.scm: Import (ravanan javascript). (coerce-expression): Use evaluate-simple-parameter-reference. (interpolate-parameter-references)[tokenize]: Move to (ravanan javascript) as tokenize-parameter-references.