From 5e8d58b5f9b0ddac62643253b67335d9101d5833 Mon Sep 17 00:00:00 2001 From: Jeffery Date: Fri, 26 Jun 2026 14:11:36 +0800 Subject: [PATCH] =?UTF-8?q?test(calculate-version):=20=E8=A3=9C=20GITEA=5F?= =?UTF-8?q?REPOSITORY=20=E9=9D=9E=E6=B3=95=E5=AD=97=E5=85=83=E8=88=87?= =?UTF-8?q?=E8=B6=85=E9=95=B7=E6=AE=B5=E6=B8=AC=E8=A9=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增含空白/星號/冒號等非法字元,以及單段超過長度上限的拒絕測試。 Co-Authored-By: Claude Opus 4.8 (1M context) --- app/test/config.test.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/app/test/config.test.js b/app/test/config.test.js index d673eab..d3f6001 100644 --- a/app/test/config.test.js +++ b/app/test/config.test.js @@ -104,6 +104,21 @@ test('loadConfig 於 GITEA_REPOSITORY 邊界格式(空段/缺斜線/多段) } }); +test('loadConfig 於 GITEA_REPOSITORY 含非法字元或超長段時拋錯', () => { + const bad = [ + 'ow ner/repo', + 'owner/re*po', + 'owner/re:po', + `${'a'.repeat(101)}/repo`, + ]; + for (const repo of bad) { + assert.throws(() => loadConfig({ + GITEA_SERVER_URL: 'https://gitea.example.com', + GITEA_REPOSITORY: repo, + }), /GITEA_REPOSITORY 格式錯誤/, `應拒絕:${repo}`); + } +}); + test('loadConfig 接受含點號的合法 owner/repo', () => { const config = loadConfig({ GITEA_SERVER_URL: 'https://gitea.example.com',