znt/module/svn/test/model/cat.php

62 lines
1.9 KiB
PHP
Raw Permalink Normal View History

#!/usr/bin/env php
<?php
/**
title=测试 svnModel::cat();
timeout=0
cid=18712
- 执行svnTest模块的catTest方法参数是$validUrl, $validRevision @0
- 执行svnTest模块的catTest方法参数是$invalidUrl, $validRevision @0
- 执行svnTest模块的catTest方法参数是$validUrl, $invalidRevision @0
- 执行svnTest模块的catTest方法参数是$validUrl, $zeroRevision @0
- 执行svnTest模块的catTest方法参数是$validUrl, $negativeRevision @0
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/model.class.php';
// 开始输出缓冲来捕获ZenData输出
ob_start();
// 直接创建测试数据
$table = zenData('repo');
$table->id->range('1-3');
$table->product->range('1-3');
$table->name->range('svn-repo-1,svn-repo-2,svn-repo-3');
$table->path->range('https://svn.qc.oop.cc/svn/unittest,https://svn.example.com/repo,file:///var/svn/local');
$table->SCM->range('Subversion');
$table->client->range('svn');
$table->deleted->range('0');
$table->encoding->range('utf-8');
$table->gen(3);
// 清理ZenData输出
ob_get_clean();
su('admin');
$svnTest = new svnModelTest();
// 测试步骤1使用有效URL和版本号获取文件内容
$validUrl = 'https://svn.qc.oop.cc/svn/unittest/README';
$validRevision = 2;
r($svnTest->catTest($validUrl, $validRevision)) && p() && e('0');
// 测试步骤2使用无效URL测试错误处理
$invalidUrl = 'http://invalid.domain/svn/repo/unit';
r($svnTest->catTest($invalidUrl, $validRevision)) && p() && e('0');
// 测试步骤3使用不存在的版本号测试边界情况
$invalidRevision = 999;
r($svnTest->catTest($validUrl, $invalidRevision)) && p() && e('0');
// 测试步骤4使用零版本号测试边界值
$zeroRevision = 0;
r($svnTest->catTest($validUrl, $zeroRevision)) && p() && e('0');
// 测试步骤5使用负数版本号测试异常输入
$negativeRevision = -1;
r($svnTest->catTest($validUrl, $negativeRevision)) && p() && e('0');