From ead41b4343feed3973e108529c777e464e4c6674 Mon Sep 17 00:00:00 2001 From: MayerTim Date: Wed, 10 Jun 2026 22:44:37 +0200 Subject: [PATCH 1/2] test(formatter): add corpus guards for pass interactions --- .../order-by-if-expression.expected.sql | 9 +++++++++ .../watcom/order-by-if-expression.input.sql | 12 +++++++++++ ...expression-block-interactions.expected.sql | 20 +++++++++++++++++++ ...ry-expression-block-interactions.input.sql | 7 +++++++ 4 files changed, 48 insertions(+) create mode 100644 test/corpus/watcom/order-by-if-expression.expected.sql create mode 100644 test/corpus/watcom/order-by-if-expression.input.sql create mode 100644 test/corpus/watcom/query-expression-block-interactions.expected.sql create mode 100644 test/corpus/watcom/query-expression-block-interactions.input.sql diff --git a/test/corpus/watcom/order-by-if-expression.expected.sql b/test/corpus/watcom/order-by-if-expression.expected.sql new file mode 100644 index 0000000..a189a18 --- /dev/null +++ b/test/corpus/watcom/order-by-if-expression.expected.sql @@ -0,0 +1,9 @@ +CREATE PROCEDURE dbo.sort_work_items() +BEGIN + SELECT w.work_item_id, w.priority_code, w.created_at + FROM dbo.work_items w + ORDER BY + IF w.priority_code = 'urgent' THEN 0 ELSE 1 ENDIF, + w.created_at DESC, + w.work_item_id; +END; diff --git a/test/corpus/watcom/order-by-if-expression.input.sql b/test/corpus/watcom/order-by-if-expression.input.sql new file mode 100644 index 0000000..24f1b77 --- /dev/null +++ b/test/corpus/watcom/order-by-if-expression.input.sql @@ -0,0 +1,12 @@ +create procedure dbo.sort_work_items() +begin +select w.work_item_id, w.priority_code, w.created_at +from dbo.work_items w +order by +if w.priority_code = 'urgent' +then +0 else 1 +end if +w.created_at desc, +w.work_item_id; +end; diff --git a/test/corpus/watcom/query-expression-block-interactions.expected.sql b/test/corpus/watcom/query-expression-block-interactions.expected.sql new file mode 100644 index 0000000..3f68669 --- /dev/null +++ b/test/corpus/watcom/query-expression-block-interactions.expected.sql @@ -0,0 +1,20 @@ +CREATE PROCEDURE dbo.route_work_items( + IN owner_id integer +) +BEGIN + SELECT w.work_item_id, CASE + WHEN w.status_code = 1 + THEN 'open' + ELSE 'closed' + END AS status_label + FROM dbo.work_items w + WHERE w.owner_id = owner_id + AND ISNULL( + w.archived, + 0 + ) = 0 + ORDER BY IF w.priority_code = 'urgent' THEN 0 ELSE 1 ENDIF, w.created_at; + IF owner_id IS NULL THEN + RETURN; + END IF; +END; diff --git a/test/corpus/watcom/query-expression-block-interactions.input.sql b/test/corpus/watcom/query-expression-block-interactions.input.sql new file mode 100644 index 0000000..5cf46c3 --- /dev/null +++ b/test/corpus/watcom/query-expression-block-interactions.input.sql @@ -0,0 +1,7 @@ +create procedure dbo.route_work_items(in owner_id integer) +begin +select w.work_item_id, case when w.status_code = 1 then 'open' else 'closed' end as status_label from dbo.work_items w where w.owner_id = owner_id and isnull(w.archived, 0) = 0 order by if w.priority_code = 'urgent' then 0 else 1 endif, w.created_at; +if owner_id is null then +return; +end if; +end; From 98f15e675be1ccb2068ed4f336116e37a44f680a Mon Sep 17 00:00:00 2001 From: MayerTim Date: Wed, 10 Jun 2026 22:49:39 +0200 Subject: [PATCH 2/2] chore(project): remove companion directory ignore rules --- .gitignore | 2 -- .vscodeignore | 3 --- test/runProjectValidationTests.js | 2 -- 3 files changed, 7 deletions(-) diff --git a/.gitignore b/.gitignore index 2e62b3a..4dd6531 100644 --- a/.gitignore +++ b/.gitignore @@ -4,5 +4,3 @@ out/ *.vsix *.zip -# Local planning and handoff files -sqlovely_private_companion_pack*/ diff --git a/.vscodeignore b/.vscodeignore index f9d35e8..14279d6 100644 --- a/.vscodeignore +++ b/.vscodeignore @@ -28,9 +28,6 @@ eslint.config.js *.vsix *.zip -# Local planning and handoff files -sqlovely_private_companion_pack*/** - # OS files .DS_Store Thumbs.db diff --git a/test/runProjectValidationTests.js b/test/runProjectValidationTests.js index c3c7f46..91989ec 100644 --- a/test/runProjectValidationTests.js +++ b/test/runProjectValidationTests.js @@ -196,7 +196,6 @@ runTest('project package hygiene rules exclude local-only files from distributab assert.ok(vscodeIgnore.includes('out/**')); assert.ok(vscodeIgnore.includes('*.vsix')); assert.ok(vscodeIgnore.includes('*.zip')); - assert.ok(vscodeIgnore.includes('sqlovely_private_companion_pack*/**')); assert.ok(!vscodeIgnore.split('\n').includes('dist/**')); assert.ok(gitIgnore.includes('node_modules/')); @@ -204,7 +203,6 @@ runTest('project package hygiene rules exclude local-only files from distributab assert.ok(gitIgnore.includes('out/')); assert.ok(gitIgnore.includes('*.vsix')); assert.ok(gitIgnore.includes('*.zip')); - assert.ok(gitIgnore.includes('sqlovely_private_companion_pack*/')); }); runTest('SQLovely grammar exposes the expected repository sections', () => {