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

62 lines
1.9 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=测试 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');