From fc44a423249747ddbf6087b8d6d8951dbc4aa868 Mon Sep 17 00:00:00 2001 From: liugang Date: Tue, 11 Nov 2025 14:36:39 +0800 Subject: [PATCH] + [misc] Add unit test script for repoZen::getFilesInfo() method MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- module/repo/test/zen/getfilesinfo.php | 70 +++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100755 module/repo/test/zen/getfilesinfo.php diff --git a/module/repo/test/zen/getfilesinfo.php b/module/repo/test/zen/getfilesinfo.php new file mode 100755 index 0000000000..82ce6366f8 --- /dev/null +++ b/module/repo/test/zen/getfilesinfo.php @@ -0,0 +1,70 @@ +#!/usr/bin/env php +id = 1; +$gitRepo->SCM = 'Git'; +$gitRepo->name = 'TestGitRepo'; +r(count($repoTest->getFilesInfoTest($gitRepo, '', 'master', base64_encode('master'), 1))) && p() && e('2'); // 步骤1:正常Git仓库返回2个文件信息 + +// 测试步骤2: 测试Gitlab仓库根路径文件列表 +$gitlabRepo = new stdClass(); +$gitlabRepo->id = 2; +$gitlabRepo->SCM = 'Gitlab'; +$gitlabRepo->name = 'TestGitlabRepo'; +r($repoTest->getFilesInfoTest($gitlabRepo, '', 'master', base64_encode('master'), 1)) && p('0:revision') && e('~~'); // 步骤2:Gitlab仓库revision字段为空 + +// 测试步骤3: 测试Subversion仓库根路径文件列表 +$svnRepo = new stdClass(); +$svnRepo->id = 3; +$svnRepo->SCM = 'Subversion'; +$svnRepo->name = 'TestSvnRepo'; +r($repoTest->getFilesInfoTest($svnRepo, '', '', '', 1)) && p('0:revision') && e('1'); // 步骤3:SVN仓库返回数字revision + +// 测试步骤4: 测试空repo对象 +r($repoTest->getFilesInfoTest(null, '', '', '', 1)) && p() && e('0'); // 步骤4:空repo对象返回空数组 + +// 测试步骤5: 测试Git仓库目录文件revision截取 +$gitRepo2 = new stdClass(); +$gitRepo2->id = 4; +$gitRepo2->SCM = 'Git'; +$gitRepo2->name = 'TestGitRepo2'; +r(strlen($repoTest->getFilesInfoTest($gitRepo2, 'src', 'develop', base64_encode('develop'), 1)[0]->revision)) && p() && e('10'); // 步骤5:Git仓库revision被截取为10位 + +// 测试步骤6: 测试Gitlab仓库文件comment为空 +$gitlabRepo2 = new stdClass(); +$gitlabRepo2->id = 5; +$gitlabRepo2->SCM = 'Gitlab'; +$gitlabRepo2->name = 'TestGitlabRepo2'; +r($repoTest->getFilesInfoTest($gitlabRepo2, 'docs', 'main', base64_encode('main'), 1)) && p('0:comment') && e('~~'); // 步骤6:Gitlab文件comment为空 + +// 测试步骤7: 测试Subversion仓库文件路径处理 +$svnRepo2 = new stdClass(); +$svnRepo2->id = 6; +$svnRepo2->SCM = 'Subversion'; +$svnRepo2->name = 'TestSvnRepo2'; +r($repoTest->getFilesInfoTest($svnRepo2, 'trunk', '', '', 1)) && p('0:kind') && e('file'); // 步骤7:SVN仓库返回文件类型 \ No newline at end of file