| # 2025-11-15 |
| # |
| # 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. |
| # |
| #*********************************************************************** |
| # |
| # Test cases for the Query Result Formatter (QRF) |
| # |
| # Format narrowing due to nScreenWidth |
| # |
| |
| set testdir [file dirname $argv0] |
| source $testdir/tester.tcl |
| set testprefix qrf03 |
| |
| do_execsql_test 1.0 { |
| CREATE TABLE mlink( |
| mid INTEGER, |
| fid INTEGER, |
| pmid INTEGER, |
| pid INTEGER, |
| fnid INTEGER REFERENCES filename, |
| pfnid INTEGER, |
| mperm INTEGER, |
| isaux BOOLEAN DEFAULT 0 |
| ); |
| INSERT INTO mlink VALUES(28775,28774,28773,28706,1,0,0,0); |
| INSERT INTO mlink VALUES(28773,28706,28770,28685,1,0,0,0); |
| INSERT INTO mlink VALUES(28770,28736,28769,28695,2,0,0,0); |
| INSERT INTO mlink VALUES(28770,28697,28769,28698,3,0,0,0); |
| INSERT INTO mlink VALUES(28767,28768,28759,28746,4,0,0,0); |
| CREATE TABLE event( |
| type TEXT, |
| mtime DATETIME, |
| objid INTEGER PRIMARY KEY, |
| tagid INTEGER, |
| uid INTEGER REFERENCES user, |
| bgcolor TEXT, |
| euser TEXT, |
| user TEXT, |
| ecomment TEXT, |
| comment TEXT, |
| brief TEXT, |
| omtime DATETIME |
| ); |
| INSERT INTO event VALUES('ci',2460994.978048461023,126223,NULL,NULL,NULL,NULL,'drh',NULL,unistr('Data structure improvements on columnar layout. Prep work for getting\u000acolumnar layouts to respond to nScreenWidth.'),NULL,2460994.978048461023); |
| INSERT INTO event VALUES('ci',2460994.836955601816,126218,NULL,NULL,NULL,NULL,'stephan',NULL,'API doc typo fix.',NULL,2460994.836955601816); |
| INSERT INTO event VALUES('ci',2460994.88823369192,126212,NULL,NULL,NULL,NULL,'stephan',NULL,'Move sqlite3-api-cleanup.js into post-js-footer.js to remove the final direct Emscripten dependency from the intermediary build product sqlite3-api.js (the whole library, waiting to be bootstrapped). This is partly in response to [forum:4b7d45433731d2e0|forum post 4b7d45433731d2e0], which demonstrates a potential use case for a standalone sqlite3-api.js. This is a build/doc change, not a functional one.',NULL,2460994.88823369192); |
| INSERT INTO event VALUES('ci',2460994.516081551089,126211,NULL,NULL,NULL,NULL,'drh',NULL,unistr('Improve columnar layout in QRF so that it correctly deals with control\u000acharacters, and especially tabs.'),NULL,2460994.516081551089); |
| INSERT INTO event VALUES('ci',2460994.409343171865,126208,NULL,NULL,NULL,NULL,'drh',NULL,'Make use of the new sqlite3_str_free() interface in the CLI.',NULL,2460994.409343171865); |
| } |
| |
| do_test 1.10 { |
| set x "\n[db format -style box -screenwidth 68 \ |
| {SELECT * FROM mlink ORDER BY rowid}]" |
| |
| } { |
| ┌───────┬───────┬───────┬───────┬──────┬───────┬───────┬───────┐ |
| │ mid │ fid │ pmid │ pid │ fnid │ pfnid │ mperm │ isaux │ |
| ├───────┼───────┼───────┼───────┼──────┼───────┼───────┼───────┤ |
| │ 28775 │ 28774 │ 28773 │ 28706 │ 1 │ 0 │ 0 │ 0 │ |
| │ 28773 │ 28706 │ 28770 │ 28685 │ 1 │ 0 │ 0 │ 0 │ |
| │ 28770 │ 28736 │ 28769 │ 28695 │ 2 │ 0 │ 0 │ 0 │ |
| │ 28770 │ 28697 │ 28769 │ 28698 │ 3 │ 0 │ 0 │ 0 │ |
| │ 28767 │ 28768 │ 28759 │ 28746 │ 4 │ 0 │ 0 │ 0 │ |
| └───────┴───────┴───────┴───────┴──────┴───────┴───────┴───────┘ |
| } |
| do_test 1.11 { |
| set x "\n[db format -style box -screenwidth 52 \ |
| {SELECT * FROM mlink ORDER BY rowid}]" |
| |
| } { |
| ┌─────┬─────┬─────┬─────┬────┬─────┬─────┬─────┐ |
| │ mid │ fid │pmid │ pid │fnid│pfnid│mperm│isaux│ |
| ├─────┼─────┼─────┼─────┼────┼─────┼─────┼─────┤ |
| │28775│28774│28773│28706│ 1│ 0│ 0│ 0│ |
| │28773│28706│28770│28685│ 1│ 0│ 0│ 0│ |
| │28770│28736│28769│28695│ 2│ 0│ 0│ 0│ |
| │28770│28697│28769│28698│ 3│ 0│ 0│ 0│ |
| │28767│28768│28759│28746│ 4│ 0│ 0│ 0│ |
| └─────┴─────┴─────┴─────┴────┴─────┴─────┴─────┘ |
| } |
| |
| do_test 1.20 { |
| set x "\n[db format -style table -screenwidth 68 \ |
| {SELECT * FROM mlink ORDER BY rowid}]" |
| |
| } { |
| +-------+-------+-------+-------+------+-------+-------+-------+ |
| | mid | fid | pmid | pid | fnid | pfnid | mperm | isaux | |
| +-------+-------+-------+-------+------+-------+-------+-------+ |
| | 28775 | 28774 | 28773 | 28706 | 1 | 0 | 0 | 0 | |
| | 28773 | 28706 | 28770 | 28685 | 1 | 0 | 0 | 0 | |
| | 28770 | 28736 | 28769 | 28695 | 2 | 0 | 0 | 0 | |
| | 28770 | 28697 | 28769 | 28698 | 3 | 0 | 0 | 0 | |
| | 28767 | 28768 | 28759 | 28746 | 4 | 0 | 0 | 0 | |
| +-------+-------+-------+-------+------+-------+-------+-------+ |
| } |
| do_test 1.21 { |
| set x "\n[db format -style table -screenwidth 52 \ |
| {SELECT * FROM mlink ORDER BY rowid}]" |
| |
| } { |
| +-----+-----+-----+-----+----+-----+-----+-----+ |
| | mid | fid |pmid | pid |fnid|pfnid|mperm|isaux| |
| +-----+-----+-----+-----+----+-----+-----+-----+ |
| |28775|28774|28773|28706| 1| 0| 0| 0| |
| |28773|28706|28770|28685| 1| 0| 0| 0| |
| |28770|28736|28769|28695| 2| 0| 0| 0| |
| |28770|28697|28769|28698| 3| 0| 0| 0| |
| |28767|28768|28759|28746| 4| 0| 0| 0| |
| +-----+-----+-----+-----+----+-----+-----+-----+ |
| } |
| |
| do_test 1.30 { |
| set x "\n[db format -style markdown -screenwidth 68 \ |
| {SELECT * FROM mlink ORDER BY rowid}]" |
| |
| } { |
| | mid | fid | pmid | pid | fnid | pfnid | mperm | isaux | |
| |-------|-------|-------|-------|------|-------|-------|-------| |
| | 28775 | 28774 | 28773 | 28706 | 1 | 0 | 0 | 0 | |
| | 28773 | 28706 | 28770 | 28685 | 1 | 0 | 0 | 0 | |
| | 28770 | 28736 | 28769 | 28695 | 2 | 0 | 0 | 0 | |
| | 28770 | 28697 | 28769 | 28698 | 3 | 0 | 0 | 0 | |
| | 28767 | 28768 | 28759 | 28746 | 4 | 0 | 0 | 0 | |
| } |
| do_test 1.31 { |
| set x "\n[db format -style markdown -screenwidth 52 \ |
| {SELECT * FROM mlink ORDER BY rowid}]" |
| |
| } { |
| | mid | fid |pmid | pid |fnid|pfnid|mperm|isaux| |
| |-----|-----|-----|-----|----|-----|-----|-----| |
| |28775|28774|28773|28706| 1| 0| 0| 0| |
| |28773|28706|28770|28685| 1| 0| 0| 0| |
| |28770|28736|28769|28695| 2| 0| 0| 0| |
| |28770|28697|28769|28698| 3| 0| 0| 0| |
| |28767|28768|28759|28746| 4| 0| 0| 0| |
| } |
| |
| do_test 1.40 { |
| set x "\n[db format -style column -screenwidth 68 \ |
| {SELECT * FROM mlink ORDER BY rowid}]" |
| |
| } { |
| mid fid pmid pid fnid pfnid mperm isaux |
| ----- ----- ----- ----- ---- ----- ----- ----- |
| 28775 28774 28773 28706 1 0 0 0 |
| 28773 28706 28770 28685 1 0 0 0 |
| 28770 28736 28769 28695 2 0 0 0 |
| 28770 28697 28769 28698 3 0 0 0 |
| 28767 28768 28759 28746 4 0 0 0 |
| } |
| do_test 1.41 { |
| set x "\n[db format -style column -screenwidth 52 \ |
| {SELECT * FROM mlink ORDER BY rowid}]" |
| |
| } { |
| mid fid pmid pid fnid pfnid mperm isaux |
| ----- ----- ----- ----- ---- ----- ----- ----- |
| 28775 28774 28773 28706 1 0 0 0 |
| 28773 28706 28770 28685 1 0 0 0 |
| 28770 28736 28769 28695 2 0 0 0 |
| 28770 28697 28769 28698 3 0 0 0 |
| 28767 28768 28759 28746 4 0 0 0 |
| } |
| |
| |
| |
| finish_test |