#!/usr/bin/env php getTmpRoot() . 'jirafile/'; if(!is_dir($jiraPath)) mkdir($jiraPath, 0755, true); // 清理之前的测试文件 $testFiles = array('action.xml', 'project.xml', 'status.xml', 'resolution.xml', 'user.xml', 'issue.xml', 'changegroup.xml', 'changeitem.xml', 'issuelink.xml', 'issuelinktype.xml', 'fileattachment.xml', 'version.xml', 'issuetype.xml', 'nodeassociation.xml'); foreach($testFiles as $file) { if(file_exists($jiraPath . $file)) @unlink($jiraPath . $file); } // 创建测试用的entities.xml文件 $testXMLContent = ' '; file_put_contents($jiraPath . 'entities.xml', $testXMLContent); // 测试步骤1:测试有效的entities.xml文件分割 r($convertTest->splitFileTest()) && p() && e('success'); // 测试步骤2:测试空的entities.xml文件处理 foreach($testFiles as $file) { if(file_exists($jiraPath . $file)) @unlink($jiraPath . $file); } file_put_contents($jiraPath . 'entities.xml', ''); r($convertTest->splitFileTest()) && p() && e('no_files'); // 测试步骤3:测试不存在entities.xml文件的处理 if(file_exists($jiraPath . 'entities.xml')) @unlink($jiraPath . 'entities.xml'); r($convertTest->splitFileTest()) && p() && e('no_source_file'); // 测试步骤4:测试包含特殊字符的XML内容处理 foreach($testFiles as $file) { if(file_exists($jiraPath . $file)) @unlink($jiraPath . $file); } $xmlWithSpecialChars = ' '; file_put_contents($jiraPath . 'entities.xml', $xmlWithSpecialChars); r($convertTest->splitFileTest()) && p() && e('success'); // 测试步骤5:检查分割后的文件完整性 $actionFile = $jiraPath . 'action.xml'; $hasValidXMLHeader = false; $hasValidXMLFooter = false; if(file_exists($actionFile)) { $content = file_get_contents($actionFile); $hasValidXMLHeader = strpos($content, "") !== false; $hasValidXMLFooter = strpos($content, '') !== false; } r($hasValidXMLHeader && $hasValidXMLFooter) && p() && e('1');