mirror of
https://github.com/polserver/polserver
synced 2026-08-13 08:23:08 -04:00
* Format escript testsuite
* Manual formatting for escript testsuite
- Add format-off to places where formatter does what it should, but we don't like the results
- Manually change places where formatter outputs weird things _without_ format-off, so next format-all would show changes if not fixed
* Update .err files; add update_err.py helper script
Use the format `:line:col: message` for all .err file checks. This
allows us to change the file names without needing to edit the .err
contents.
Note that `in/inc0{1,2}.err` need have error messages between POSIX and
Windows, so their messages are a bit more "generic" than the other errs.
* Format pol testsuite
* Manual formatting for pol testsuite
* Format pol-core modules
* Manual formatting for pol-core modules
* Additional format pol-core modules
Use FormatterLineWidth=10000 since module functions must be on one line
because of the parse_modules target
* Address Discord comments
- Support multi-line module function declarations in parse_modules
* Format on df07831
40 lines
1.2 KiB
Text
40 lines
1.2 KiB
Text
// Tests via function expression call `(@(<args>){})(...)` with continuation (MTH_FILTER).
|
|
|
|
// Depending on the signature of the filter function, the rest parameter `args`
|
|
// will contain elements `{element, index, arr}`. For each additional non-rest
|
|
// parameter, the rest parameter's `args` goes down: see the .out
|
|
|
|
var filter1 := @( args ... ) {
|
|
print( $"args={args}" );
|
|
return 1;
|
|
};
|
|
|
|
var filter2 := @( element, args ... ) {
|
|
print( $"element={element} args={args}" );
|
|
return 1;
|
|
};
|
|
|
|
var filter3 := @( element, index, args ... ) {
|
|
print( $"element={element} index={index} args={args}" );
|
|
return 1;
|
|
};
|
|
|
|
var filter4 := @( element, index, arr, args ... ) {
|
|
print( $"element={element} index={index} arr={arr} args={args}" );
|
|
return 1;
|
|
};
|
|
|
|
// Single element array.
|
|
// Continuation callback does not return a continuation
|
|
array{ "a" }.filter( filter1 );
|
|
array{ "a" }.filter( filter2 );
|
|
array{ "a" }.filter( filter3 );
|
|
array{ "a" }.filter( filter4 );
|
|
print( "-" );
|
|
|
|
// Multiple element array.
|
|
// Continuation callback returns a continuation, then a non-continuation
|
|
array{ "a", "b", "c" }.filter( filter1 );
|
|
array{ "a", "b", "c" }.filter( filter2 );
|
|
array{ "a", "b", "c" }.filter( filter3 );
|
|
array{ "a", "b", "c" }.filter( filter4 );
|