znt/module/zai/test/model/appendfieldlist.php

103 lines
3.4 KiB
PHP

#!/usr/bin/env php
<?php
/**
title=测试 zaiModel::appendFieldList();
timeout=0
cid=0
- 测试附加字段列表 @状态:激活
- 测试跳过无标签字段 @1
- 测试格式化字段值 @优先级:最高
- 测试空值字段输出空字符串 @1
- 测试多个字段按顺序附加 @1
- 测试格式化结果为空时输出空字符串 @1
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/model.class.php';
su('admin');
global $tester;
$zai = new zaiModelTest();
/* 测试附加字段列表 */
$content1 = array('# 标题');
$langData1 = array(
'fields' => array('status' => '状态'),
'maps' => array('status' => array('active' => '激活'))
);
$fieldPairs1 = array('status' => 'active');
$content1 = $zai->appendFieldListTest($content1, $langData1, $fieldPairs1);
$actualLine1 = end($content1);
r($actualLine1) && p() && e('* 状态: 激活'); // 测试附加字段列表
/* 测试跳过无标签字段 */
$content2 = array('# 标题');
$langData2 = array('fields' => array('status' => '状态'));
$fieldPairs2 = array('status' => 'active', 'noLabel' => 'value');
$content2 = $zai->appendFieldListTest($content2, $langData2, $fieldPairs2);
$hasNoLabel = false;
foreach($content2 as $line)
{
if(strpos($line, 'noLabel') !== false)
{
$hasNoLabel = true;
break;
}
}
$actualLine2 = $content2[1];
r(!$hasNoLabel && $actualLine2 === '* 状态: active' ? 1 : 0) && p() && e('1'); // 测试跳过无标签字段
/* 测试格式化字段值 */
$content3 = array('# 标题');
$langData3 = array(
'fields' => array('pri' => '优先级'),
'maps' => array('pri' => array('1' => '最高'))
);
$fieldPairs3 = array('pri' => '1');
$content3 = $zai->appendFieldListTest($content3, $langData3, $fieldPairs3);
$actualLine3 = end($content3);
r($actualLine3) && p() && e('* 优先级: 最高'); // 测试格式化字段值
/* 测试空值字段被跳过 */
$content4 = array('# 标题');
$langData4 = array(
'fields' => array('status' => '状态'),
'maps' => array('status' => array())
);
$fieldPairs4 = array('status' => null);
$content4 = $zai->appendFieldListTest($content4, $langData4, $fieldPairs4);
$hasEmptyEntry = count($content4) === 2 && $content4[1] === '* 状态: ';
r($hasEmptyEntry ? 1 : 0) && p() && e('1'); // 测试空值字段输出为空字符串
/* 测试多个字段按顺序附加 */
$content5 = array('# 标题');
$langData5 = array(
'fields' => array(
'status' => '状态',
'pri' => '优先级'
)
);
$fieldPairs5 = array(
'status' => 'active',
'pri' => '1'
);
$content5 = $zai->appendFieldListTest($content5, $langData5, $fieldPairs5);
$statusIndex = array_search('* 状态: active', $content5, true);
$priIndex = array_search('* 优先级: 1', $content5, true);
r($statusIndex !== false && $priIndex !== false && $statusIndex < $priIndex ? 1 : 0) && p() && e('1'); // 测试多个字段按顺序附加
/* 测试格式化结果为空时输出空字符串 */
$content6 = array('# 标题');
$langData6 = array(
'fields' => array('status' => '状态'),
'maps' => array('status' => array('inactive' => ''))
);
$fieldPairs6 = array('status' => 'inactive');
$content6 = $zai->appendFieldListTest($content6, $langData6, $fieldPairs6);
$hasBlankFormatted = count($content6) === 2 && $content6[1] === '* 状态: ';
r($hasBlankFormatted ? 1 : 0) && p() && e('1'); // 测试格式化结果为空时输出空字符串