polserver/testsuite/escript/json/json01.src
Kevin Eady 3ccf701ce9
Format testsuite scripts, pol-core support modules (#713)
* 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
2024-10-04 10:29:55 +02:00

19 lines
681 B
Text

program main()
var expr := struct{ "a" := "hello there",
"b" := Boolean( 1 ),
"c" := array{ Boolean( 0 ), uninit },
"d" := struct{ "key" := "value" } };
var json := PackJSON( expr );
var obj := UnpackJSON( json );
print( TypeOfInt( obj ) == OT_STRUCT );
print( obj.size() == 4 );
print( obj.a == "hello there" );
print( obj.b == Boolean( 1 ) );
print( obj.c[1] == Boolean( 0 ) );
print( obj.c[2] == uninit );
print( obj.c.size() == 2 );
print( TypeOfInt( obj.d ) == OT_STRUCT );
print( obj.d.size() == 1 );
print( obj.d.key == "value" );
print( PackJSON( expr, 1 ) != json );
endprogram