testdocument.php.svn-base

来自「PHP 知识管理系统(基于树结构的知识管理系统), 英文原版的PHP源码。」· SVN-BASE 代码 · 共 137 行

SVN-BASE
137
字号
<?phprequire_once (dirname(__FILE__) . '/../test.php');require_once (KT_DIR . '/ktapi/ktapi.inc.php');class APIDocumentHelper {    function createRandomFile($content = 'this is some text') {        $temp = tempnam(dirname(__FILE__), 'myfile');        $fp = fopen($temp, 'wt');        fwrite($fp, $content);        fclose($fp);        return $temp;    }}class APIDocumentTestCase extends KTUnitTestCase {    /**     * @var KTAPI     */    var $ktapi;    /**     * @var KTAPI_Folder     */    var $root;    var $session;    function setUp() {        $this->ktapi = new KTAPI();        $this->session = $this->ktapi->start_system_session();        $this->root = $this->ktapi->get_root_folder();        $this->assertTrue(is_a($this->root, 'KTAPI_Folder'));    }    function tearDown() {        $this->session->logout();    }    function testAddDocument() {        $randomFile = APIDocumentHelper::createRandomFile();        $this->assertTrue(is_file($randomFile));        $document = $this->root->add_document('testtitle.txt', 'testname.txt', 'Default', $randomFile);        $this->assertNotError($document);        if(PEAR::isError($document)) return;        $this->assertTrue(is_a($document, 'KTAPI_Document'));        @unlink($randomFile);        $documentid = $document->get_documentid();        // get document        $document = $this->ktapi->get_document_by_id($documentid);        $this->assertTrue(is_a($document, 'KTAPI_Document'));        $this->assertEqual($document->get_title(), 'testtitle.txt');        $document->delete('because we can');        // check if document still exists        $document = $this->ktapi->get_document_by_id($documentid);        $this->assertTrue(is_a($document, 'KTAPI_Document'));        $this->assertTrue($document->is_deleted());        $document->expunge();        // check if document still exists        $document = $this->ktapi->get_document_by_id($documentid);        $this->assertFalse(is_a($document, 'KTAPI_Document'));    }    function testCheckinDocument() {        $randomFile = APIDocumentHelper::createRandomFile();        $this->assertTrue(is_file($randomFile));        $document = $this->root->add_document('testtitle.txt', 'testname.txt', 'Default', $randomFile);        $this->assertNotError($document);        if(PEAR::isError($document)) return;        $this->assertTrue(is_a($document, 'KTAPI_Document'));        @unlink($randomFile);        $documentid = $document->get_documentid();        // document should be checked in        $document = $this->ktapi->get_document_by_id($documentid);        $this->assertFalse($document->is_checked_out());        $document->checkout('because');        // document should now be checked out        $document = $this->ktapi->get_document_by_id($documentid);        $this->assertTrue($document->is_checked_out());        $document->undo_checkout('because we want to undo it');        // document should be checked in        $document = $this->ktapi->get_document_by_id($documentid);        $this->assertFalse($document->is_checked_out());        $document->checkout('because');        // document should now be checked out        $document = $this->ktapi->get_document_by_id($documentid);        $this->assertTrue($document->is_checked_out());        // create another random file        $randomFile = APIDocumentHelper::createRandomFile('updating the previous content');        $this->assertTrue(is_file($randomFile));        $document->checkin('testname.txt', 'updating', $randomFile);        @unlink($randomFile);        // document should be checked in        $document = $this->ktapi->get_document_by_id($documentid);        $this->assertFalse($document->is_checked_out());        $document->delete('because we can');        $document->expunge();    }    function testAddingDuplicateTitle() {        $randomFile = APIDocumentHelper::createRandomFile();        $this->assertTrue(is_file($randomFile));        $document = $this->root->add_document('testtitle.txt', 'testname.txt', 'Default', $randomFile);        $this->assertNotError($document);        if(PEAR::isError($document)) return;        $this->assertEntity($document, 'KTAPI_Document');        $this->assertFalse(is_file($randomFile));        $documentid = $document->get_documentid();        // file would have been cleaned up because of the add_document        $randomFile = APIDocumentHelper::createRandomFile();        $this->assertTrue(is_file($randomFile));        // filenames must be the same as above        $document2 = $this->root->add_document('testtitle.txt', 'testname2.txt', 'Default', $randomFile);        $this->assertFalse(is_a($document2, 'KTAPI_Document'));        @unlink($randomFile);        $document->delete('because we can');        $document->expunge();        if (is_a($document2, 'KTAPI_Document')) {            $document2->delete('because we can');            $document2->expunge();        }    }    function testAddingDuplicateFile() {        $randomFile = APIDocumentHelper::createRandomFile();        $this->assertTrue(is_file($randomFile));        $document = $this->root->add_document('testtitle.txt', 'testname.txt', 'Default', $randomFile);        $this->assertNotError($document);        if(PEAR::isError($document)) return;        $this->assertTrue(is_a($document, 'KTAPI_Document'));        $this->assertFalse(is_file($randomFile));        $documentid = $document->get_documentid();        $randomFile = APIDocumentHelper::createRandomFile();        $this->assertTrue(is_file($randomFile));        // filenames must be the same as above        $document2 = $this->root->add_document('testtitle2.txt', 'testname.txt', 'Default', $randomFile);        $this->assertFalse(is_a($document2, 'KTAPI_Document'));        @unlink($randomFile);        $document->delete('because we can');        $document->expunge();        if (is_a($document2, 'KTAPI_Document')) {            $document2->delete('because we can');            $document2->expunge();        }    }}?>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?