# 2024-03-06 # # The author disclaims copyright to this source code. In place of # a legal notice, here is a blessing: # # May you do good and not evil. # May you find forgiveness for yourself and forgive others. # May you share freely, never taking more than you give. # #*********************************************************************** # Invariant tests for JSON built around the randomjson extension # set testdir [file dirname $argv0] source $testdir/tester.tcl set testprefix json108 # These tests require virtual table "json_tree" to run. ifcapable !vtab { finish_test ; return } load_static_extension db randomjson db eval { CREATE TEMP TABLE t1(j0,j5); WITH RECURSIVE c(n) AS (VALUES(0) UNION ALL SELECT n+1 FROM c WHERE n<9) INSERT INTO t1 SELECT random_json(n), random_json5(n) FROM c; } do_execsql_test 1.1 { SELECT count(*) FROM t1 WHERE json(j0)==json(json_pretty(j0,NULL)); } 10 do_execsql_test 1.2 { SELECT count(*) FROM t1 WHERE json(j0)==json(json_pretty(j0,NULL)); } 10 do_execsql_test 1.3 { SELECT count(*) FROM t1 WHERE json(j0)==json(json_pretty(j0,'')); } 10 do_execsql_test 1.4 { SELECT count(*) FROM t1 WHERE json(j0)==json(json_pretty(j0,char(9))); } 10 do_execsql_test 1.5 { SELECT count(*) FROM t1 WHERE json(j0)==json(json_pretty(j0,'/*hello*/')); } 10 finish_test