mirror of
https://github.com/sasjs/core.git
synced 2026-07-23 15:35:29 +00:00
86 lines
1.9 KiB
SAS
86 lines
1.9 KiB
SAS
/**
|
|
@file
|
|
@brief Testing ms_webout macro
|
|
|
|
<h4> SAS Macros </h4>
|
|
@li mf_getuniquefileref.sas
|
|
@li ms_webout.sas
|
|
@li mp_assert.sas
|
|
|
|
**/
|
|
|
|
|
|
%let fref=%mf_getuniquefileref();
|
|
%global _metaperson;
|
|
data some datasets;
|
|
x=1;
|
|
run;
|
|
%ms_webout(OPEN,fref=&fref)
|
|
%ms_webout(ARR,some,fref=&fref)
|
|
%ms_webout(OBJ,datasets,fref=&fref)
|
|
%ms_webout(CLOSE,fref=&fref)
|
|
|
|
libname test JSON fileref=&fref;
|
|
data root;
|
|
set test.root;
|
|
call symputx('checkval',sysvlong);
|
|
run;
|
|
data alldata;
|
|
set test.alldata;
|
|
run;
|
|
|
|
%mp_assert(
|
|
iftrue=(%str(&checkval)=%str(&sysvlong)),
|
|
desc=Check if the sysvlong value was created
|
|
)
|
|
|
|
/*
|
|
Test that ms_webout(FETCH) retains leading blanks in character values
|
|
(simulates the CSV format generated by the sasjs adapter, ie an input
|
|
statement in the first row followed by unquoted data)
|
|
*/
|
|
%let fref2=%mf_getuniquefileref();
|
|
data _null_;
|
|
file &fref2 lrecl=32767 termstr=crlf;
|
|
put 'col1:$char10. col2:best.';
|
|
put ' padded,1';
|
|
run;
|
|
%global _webin_fileref _webin_name;
|
|
%let _webin_fileref=&fref2;
|
|
%let _webin_name=leadblank;
|
|
%let _webin_file_count=1;
|
|
%ms_webout(FETCH)
|
|
|
|
data _null_;
|
|
set leadblank;
|
|
if col1=' padded' then call symputx('checkblank','PASS');
|
|
else call symputx('checkblank',cats('FAIL:',col1));
|
|
run;
|
|
|
|
%mp_assert(
|
|
iftrue=(&checkblank=PASS),
|
|
desc=ms_webout FETCH retains leading blanks with $char informat
|
|
)
|
|
|
|
/* same test, but with a plain $ informat (as sent by some clients) */
|
|
%let fref3=%mf_getuniquefileref();
|
|
data _null_;
|
|
file &fref3 lrecl=32767 termstr=crlf;
|
|
put 'col1:$10. col2:best.';
|
|
put ' padded,1';
|
|
run;
|
|
%let _webin_fileref=&fref3;
|
|
%let _webin_name=leadblank2;
|
|
%let _webin_file_count=1;
|
|
%ms_webout(FETCH)
|
|
|
|
data _null_;
|
|
set leadblank2;
|
|
if col1=' padded' then call symputx('checkblank2','PASS');
|
|
else call symputx('checkblank2',cats('FAIL:',col1));
|
|
run;
|
|
|
|
%mp_assert(
|
|
iftrue=(&checkblank2=PASS),
|
|
desc=ms_webout FETCH retains leading blanks with $ informat
|
|
) |