mirror of
https://github.com/sqlite/sqlite.git
synced 2025-08-07 02:42:48 +03:00
Get the JS SQLTester command handlers in place sans those which have to run SQL.
FossilOrigin-Name: d21b1217964a53f33b7ba3958b34aa8560dff8ede33e66f54aa0afbab7099ec3
This commit is contained in:
@@ -1,26 +1,51 @@
|
||||
import {default as ns} from './SQLTester.mjs';
|
||||
|
||||
globalThis.sqlite3 = ns.sqlite3;
|
||||
const log = function f(...args){
|
||||
console.log('SQLTester.run:',...args);
|
||||
return f;
|
||||
};
|
||||
|
||||
console.log("Loaded",ns);
|
||||
const out = function f(...args){ return f.outer.out(...args) };
|
||||
out.outer = new ns.Outer();
|
||||
out.outer.getOutputPrefix = ()=>'SQLTester.run: ';
|
||||
const outln = (...args)=>{ return out.outer.outln(...args) };
|
||||
|
||||
const affirm = function(expr, msg){
|
||||
if( !expr ){
|
||||
throw new Error(arguments[1]
|
||||
? ("Assertion failed: "+arguments[1])
|
||||
: "Assertion failed");
|
||||
}
|
||||
}
|
||||
|
||||
console.log("Loaded",ns);
|
||||
|
||||
log("ns =",ns);
|
||||
out("Hi there. ").outln("SQLTester is ostensibly ready.");
|
||||
|
||||
let ts = new ns.TestScript('/foo.test', ns.Util.utf8Encode(`
|
||||
# comment line
|
||||
select 1;
|
||||
--testcase 0.0
|
||||
#--result 1
|
||||
let ts = new ns.TestScript('/foo.test', ns.Util.utf8Encode(
|
||||
`# comment line
|
||||
--print Starting up...
|
||||
--null NIL
|
||||
--new :memory:
|
||||
--testcase 0.0.1
|
||||
select '0.0.1';
|
||||
#--result 0.0.1
|
||||
--print done
|
||||
`));
|
||||
|
||||
const sqt = new ns.SQLTester();
|
||||
sqt.verbosity(3);
|
||||
ts.run(sqt);
|
||||
try{
|
||||
log( 'sqt.getCurrentDb()', sqt.getCurrentDb() );
|
||||
sqt.openDb('/foo.db', true);
|
||||
log( 'sqt.getCurrentDb()', sqt.getCurrentDb() );
|
||||
sqt.verbosity(0);
|
||||
affirm( 'NIL' !== sqt.nullValue() );
|
||||
ts.run(sqt);
|
||||
affirm( 'NIL' === sqt.nullValue() );
|
||||
}finally{
|
||||
sqt.reset();
|
||||
}
|
||||
log( 'sqt.getCurrentDb()', sqt.getCurrentDb() );
|
||||
|
||||
|
Reference in New Issue
Block a user