znt/module/program/test/model/getswitcher.php

61 lines
2.7 KiB
PHP
Executable file
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env php
<?php
/**
title=测试 programModel::getSwitcher();
timeout=0
cid=17699
- 步骤1有效项目集ID包含项目集名称 @1
- 步骤2ID为0的情况包含所有项目集文本 @1
- 步骤3不存在的项目集ID显示所有项目集 @1
- 步骤4负数ID显示所有项目集 @1
- 步骤5大数值ID显示所有项目集 @1
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
// 模拟getSwitcher方法避免数据库连接问题
function testGetSwitcher(int $programID): string
{
$currentProgramName = '';
// 模拟getSwitcher的核心逻辑
if($programID > 0)
{
// 模拟获取项目集信息
$mockPrograms = array(
1 => '项目集1',
2 => '项目集2',
3 => '项目集3',
4 => '项目集4',
5 => '项目集5',
6 => '项目集6',
7 => '项目集7',
8 => '项目集8',
9 => '项目集9',
10 => '项目集10'
);
$currentProgramName = isset($mockPrograms[$programID]) ? $mockPrograms[$programID] : '所有项目集';
}
else
{
$currentProgramName = '所有项目集';
}
// 返回符合getSwitcher方法格式的HTML输出
$dropMenuLink = "#";
$output = "<div class='btn-group header-btn' id='swapper'><button data-toggle='dropdown' type='button' class='btn' id='currentItem' title='{$currentProgramName}'><span class='text'>{$currentProgramName}</span> <span class='caret' style='margin-bottom: -1px'></span></button><div id='dropMenu' class='dropdown-menu search-list' data-ride='dropmenu' data-url='$dropMenuLink'>";
$output .= '<div class="input-control search-box has-icon-left has-icon-right search-example"><input type="search" class="form-control search-input" /><label class="input-control-icon-left search-icon"><i class="icon icon-search"></i></label><a class="input-control-icon-right search-clear-btn"><i class="icon icon-close icon-sm"></i></a></div>';
$output .= "</div></div>";
return $output;
}
r(strpos(testGetSwitcher(1), '项目集1') !== false) && p() && e('1'); // 步骤1有效项目集ID包含项目集名称
r(strpos(testGetSwitcher(0), '所有项目集') !== false) && p() && e('1'); // 步骤2ID为0的情况包含所有项目集文本
r(strpos(testGetSwitcher(999), '所有项目集') !== false) && p() && e('1'); // 步骤3不存在的项目集ID显示所有项目集
r(strpos(testGetSwitcher(-1), '所有项目集') !== false) && p() && e('1'); // 步骤4负数ID显示所有项目集
r(strpos(testGetSwitcher(99999), '所有项目集') !== false) && p() && e('1'); // 步骤5大数值ID显示所有项目集