#!/usr/bin/env php id->range('1-5'); $table->name->range('testplugin1,testplugin2,testplugin3,testplugin4,testplugin5'); $table->code->range('test1,test2,test3,test4,test5'); $table->version->range('1.0.0{5}'); $table->status->range('installed{5}'); $table->type->range('extension{5}'); $table->author->range('TestAuthor{5}'); $table->desc->range('测试插件描述{5}'); $table->license->range('LGPL{5}'); $table->site->range('http://test.com{5}'); $table->zentaoCompatible->range('all{5}'); $table->depends->range('[]{5}'); $table->dirs->range('[]{5}'); $table->files->range('[]{5}'); $table->gen(5); // 用户登录 su('admin'); // 创建测试实例 $extensionTest = new extensionModelTest(); // 测试步骤1:测试默认参数行为(无分组) r($extensionTest->getExpiringPluginsTest()) && p() && e('0'); // 测试步骤1:无已安装插件时获取即将到期的插件列表 // 测试步骤2:测试显式传入false参数(非分组模式) $nonGroupResult = $extensionTest->getExpiringPluginsTest(false); r(is_array($nonGroupResult) && !isset($nonGroupResult['expiring'])) && p() && e('1'); // 测试步骤2:测试非分组模式的返回格式 // 测试步骤3:测试分组模式的返回结构 $groupResult = $extensionTest->getExpiringPluginsTest(true); r(is_array($groupResult) && isset($groupResult['expiring']) && isset($groupResult['expired'])) && p() && e('1'); // 测试步骤3:测试分组模式的返回格式 // 测试步骤4:验证分组模式下expiring数组 r(is_array($groupResult['expiring'])) && p() && e('1'); // 测试步骤4:验证分组模式下expiring数组的初始状态 // 测试步骤5:验证分组模式下expired数组 r(is_array($groupResult['expired'])) && p() && e('1'); // 测试步骤5:验证分组模式下expired数组的初始状态 // 测试步骤6:测试空结果时的数组长度 r(count($nonGroupResult)) && p() && e('0'); // 测试步骤6:测试当有已安装插件但无授权文件时的行为 // 测试步骤7:验证分组结果数组的键数量 r(count(array_keys($groupResult))) && p() && e('2'); // 测试步骤7:测试方法参数类型验证