Files
EasySoft-ZenTaoPMS/module/zai/test/model/appendmilestonesection.php
2025-12-02 16:32:11 +08:00

63 lines
2.6 KiB
PHP

#!/usr/bin/env php
<?php
/**
title=测试 zaiModel::appendMilestoneSection();
timeout=0
cid=0
- 测试里程碑章节追加标题和内容 @1
- 测试对象里程碑转换输出 @1
- 测试仅日期里程碑输出格式 @1
- 测试字段标签回退为字段名 @1
- 测试空里程碑不追加内容 @1
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/zai.unittest.class.php';
su('admin');
global $tester;
$zai = new zaiTest();
$langData = array('sections' => array('milestone' => '里程碑'));
/* 测试里程碑章节追加标题和内容 */
$content1 = array('# 标题');
$milestones1 = array(array('name' => 'Alpha', 'date' => '2025-01-01'));
$result1 = $zai->appendMilestoneSectionTest($content1, $langData, $milestones1);
$hitHeader = (isset($result1[1]) && $result1[1] === "\n## 里程碑") ? '1' : '0';
$hitLine = (isset($result1[2]) && $result1[2] === '- Alpha (2025-01-01)') ? '1' : '0';
$pass1 = ($hitHeader === '1' && $hitLine === '1') ? '1' : '0';
r($pass1) && p() && e('1'); // 测试里程碑章节追加标题和内容
/* 测试对象里程碑转换输出 */
$content2 = array('# 标题');
$milestones2 = array((object)array('name' => 'Beta', 'date' => '2025-02-02'));
$result2 = $zai->appendMilestoneSectionTest($content2, $langData, $milestones2);
$hitObject = (isset($result2[2]) && $result2[2] === '- Beta (2025-02-02)') ? '1' : '0';
r($hitObject) && p() && e('1'); // 测试对象里程碑转换输出
/* 测试仅日期里程碑输出格式 */
$content3 = array('# 标题');
$milestones3 = array(array('date' => '2025-03-03'));
$result3 = $zai->appendMilestoneSectionTest($content3, $langData, $milestones3);
$hitDate = (isset($result3[2]) && $result3[2] === '- 2025-03-03') ? '1' : '0';
r($hitDate) && p() && e('1'); // 测试仅日期里程碑输出格式
/* 测试字段标签回退为字段名 */
$langDataFallback = array('sections' => array(), 'fields' => array('milestone' => '阶段里程碑'));
$content4 = array('# 标题');
$milestones4 = array(array('name' => 'Delta', 'date' => ''));
$result4 = $zai->appendMilestoneSectionTest($content4, $langDataFallback, $milestones4);
$hitFallback = (isset($result4[1]) && $result4[1] === "\n## 阶段里程碑") ? '1' : '0';
r($hitFallback) && p() && e('1'); // 测试字段标签回退为字段名
/* 测试空里程碑不追加内容 */
$content5 = array('# 标题');
$result5 = $zai->appendMilestoneSectionTest($content5, $langData, array());
$unchanged = (count($result5) === 1) ? '1' : '0';
r($unchanged) && p() && e('1'); // 测试空里程碑不追加内容