72 lines
2.6 KiB
PHP
Executable file
72 lines
2.6 KiB
PHP
Executable file
#!/usr/bin/env php
|
||
<?php
|
||
|
||
/**
|
||
|
||
title=测试 repoModel::createActionChanges();
|
||
timeout=0
|
||
cid=18036
|
||
|
||
- 测试步骤1:SVN单个文件修改第0条的field属性 @subversion
|
||
- 测试步骤2:Git多种操作类型第0条的field属性 @git
|
||
- 测试步骤3:空文件变更 @0
|
||
- 测试步骤4:无效SCM类型第0条的field属性 @git
|
||
- 测试步骤5:SVN处理A操作第0条的field属性 @subversion
|
||
- 测试步骤6:边界值null文件列表 @0
|
||
- 测试步骤7:验证Git类型返回第0条的field属性 @git
|
||
|
||
*/
|
||
|
||
include dirname(__FILE__, 5) . '/test/lib/init.php';
|
||
include dirname(__FILE__, 2) . '/lib/model.class.php';
|
||
|
||
su('admin');
|
||
|
||
$repo = new repoModelTest();
|
||
|
||
// 测试数据1:SVN单个文件修改
|
||
$log1 = new stdclass();
|
||
$log1->revision = '12345';
|
||
$log1->files = array('M' => array('/src/model.php'));
|
||
|
||
// 测试数据2:Git多种操作类型
|
||
$log2 = new stdclass();
|
||
$log2->revision = 'abc123def456';
|
||
$log2->files = array(
|
||
'A' => array('/new/file.php'),
|
||
'M' => array('/modified/file.js'),
|
||
'D' => array('/deleted/old.css')
|
||
);
|
||
|
||
// 测试数据3:空文件列表
|
||
$log3 = new stdclass();
|
||
$log3->revision = 'empty123';
|
||
$log3->files = array();
|
||
|
||
// 测试数据4:无效SCM类型
|
||
$log4 = new stdclass();
|
||
$log4->revision = 'invalid456';
|
||
$log4->files = array('M' => array('/test/file.php'));
|
||
|
||
// 测试数据5:对比SVN和Git
|
||
$log5 = new stdclass();
|
||
$log5->revision = 'compare789';
|
||
$log5->files = array('A' => array('/new/compare.php'));
|
||
|
||
// 测试数据6:null文件列表(边界值)
|
||
$log6 = new stdclass();
|
||
$log6->revision = 'boundary123';
|
||
// 不设置files属性,模拟null情况
|
||
|
||
// 测试数据7:验证M操作的diff链接
|
||
$log7 = new stdclass();
|
||
$log7->revision = 'difftest999';
|
||
$log7->files = array('M' => array('/test/diff.php'));
|
||
|
||
r($repo->createActionChangesTest($log1, '/repo/root/', 'svn')) && p('0:field') && e('subversion'); // 测试步骤1:SVN单个文件修改
|
||
r($repo->createActionChangesTest($log2, '/repo/root/', 'git')) && p('0:field') && e('git'); // 测试步骤2:Git多种操作类型
|
||
r($repo->createActionChangesTest($log3, '/repo/root/', 'git')) && p() && e('0'); // 测试步骤3:空文件变更
|
||
r($repo->createActionChangesTest($log4, '/repo/root/', 'invalidscm')) && p('0:field') && e('git'); // 测试步骤4:无效SCM类型
|
||
r($repo->createActionChangesTest($log5, '/repo/root/', 'svn')) && p('0:field') && e('subversion'); // 测试步骤5:SVN处理A操作
|
||
r($repo->createActionChangesTest($log6, '/repo/root/', 'git')) && p() && e('0'); // 测试步骤6:边界值null文件列表
|
||
r($repo->createActionChangesTest($log7, '/repo/root/', 'git')) && p('0:field') && e('git'); // 测试步骤7:验证Git类型返回
|