znt/module/file/test/model/savechunkedfile.php

92 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=测试 fileModel::saveChunkedFile();
timeout=0
cid=16527
- 执行fileTest模块的saveChunkedFileTest方法参数是$normalFile, $normalUid
- 属性extension @txt
- 属性title @test_file
- 属性size @1024
- 执行fileTest模块的saveChunkedFileTest方法参数是$zeroChunkFile, $zeroUid @0
- 执行fileTest模块的saveChunkedFileTest方法参数是$invalidFile, $invalidUid
- 属性extension @doc
- 属性title @invalid_file
- 执行fileTest模块的saveChunkedFileTest方法参数是$specialFile, $specialUid
- 属性title @test_file_中文
- 属性extension @jpg
- 执行fileTest模块的saveChunkedFileTest方法参数是$largeFile, $largeUid
- 属性size @10485760
- 属性extension @zip
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/model.class.php';
su('admin');
$fileTest = new fileModelTest();
// 测试步骤1正常分块文件保存
$normalFile = array(
'extension' => 'txt',
'title' => 'test_file',
'size' => 1024,
'pathname' => 'test_file_path',
'chunks' => 3,
'chunkIndex' => 0
);
$normalUid = 'test_uid_001';
r($fileTest->saveChunkedFileTest($normalFile, $normalUid)) && p('extension,title,size') && e('txt,test_file,1024');
// 测试步骤2零分块文件处理
$zeroChunkFile = array(
'extension' => 'pdf',
'title' => 'zero_chunk_file',
'size' => 512,
'pathname' => 'zero_chunk_path',
'chunks' => 0,
'chunkIndex' => 0
);
$zeroUid = 'test_uid_002';
r($fileTest->saveChunkedFileTest($zeroChunkFile, $zeroUid)) && p() && e('0');
// 测试步骤3无效分块数据处理
$invalidFile = array(
'extension' => 'doc',
'title' => 'invalid_file',
'size' => 2048,
'pathname' => 'invalid_path',
'chunks' => '',
'chunkIndex' => 1
);
$invalidUid = 'test_uid_003';
r($fileTest->saveChunkedFileTest($invalidFile, $invalidUid)) && p('extension,title') && e('doc,invalid_file');
// 测试步骤4特殊字符文件名处理
$specialFile = array(
'extension' => 'jpg',
'title' => 'test_file_中文',
'size' => 4096,
'pathname' => 'special_char_path',
'chunks' => 2,
'chunkIndex' => 1
);
$specialUid = 'test_uid_004';
r($fileTest->saveChunkedFileTest($specialFile, $specialUid)) && p('title,extension') && e('test_file_中文,jpg');
// 测试步骤5大文件分块处理
$largeFile = array(
'extension' => 'zip',
'title' => 'large_file',
'size' => 10485760,
'pathname' => 'large_file_path',
'chunks' => 10,
'chunkIndex' => 5
);
$largeUid = 'test_uid_005';
r($fileTest->saveChunkedFileTest($largeFile, $largeUid)) && p('size,extension') && e('10485760,zip');