frames_test.php.svn-base

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

SVN-BASE
549
字号
<?php// $Id: frames_test.php 1555 2007-07-14 02:04:34Z lastcraft $require_once(dirname(__FILE__) . '/../autorun.php');require_once(dirname(__FILE__) . '/../tag.php');require_once(dirname(__FILE__) . '/../page.php');require_once(dirname(__FILE__) . '/../frames.php');Mock::generate('SimplePage');Mock::generate('SimpleForm');class TestOfFrameset extends UnitTestCase {    function testTitleReadFromFramesetPage() {        $page = &new MockSimplePage();        $page->setReturnValue('getTitle', 'This page');        $frameset = &new SimpleFrameset($page);        $this->assertEqual($frameset->getTitle(), 'This page');    }    function TestHeadersReadFromFramesetByDefault() {        $page = &new MockSimplePage();        $page->setReturnValue('getHeaders', 'Header: content');        $page->setReturnValue('getMimeType', 'text/xml');        $page->setReturnValue('getResponseCode', 401);        $page->setReturnValue('getTransportError', 'Could not parse headers');        $page->setReturnValue('getAuthentication', 'Basic');        $page->setReturnValue('getRealm', 'Safe place');        $frameset = &new SimpleFrameset($page);        $this->assertIdentical($frameset->getHeaders(), 'Header: content');        $this->assertIdentical($frameset->getMimeType(), 'text/xml');        $this->assertIdentical($frameset->getResponseCode(), 401);        $this->assertIdentical($frameset->getTransportError(), 'Could not parse headers');        $this->assertIdentical($frameset->getAuthentication(), 'Basic');        $this->assertIdentical($frameset->getRealm(), 'Safe place');    }    function testEmptyFramesetHasNoContent() {        $page = &new MockSimplePage();        $page->setReturnValue('getRaw', 'This content');        $frameset = &new SimpleFrameset($page);        $this->assertEqual($frameset->getRaw(), '');    }    function testRawContentIsFromOnlyFrame() {        $page = &new MockSimplePage();        $page->expectNever('getRaw');        $frame = &new MockSimplePage();        $frame->setReturnValue('getRaw', 'Stuff');        $frameset = &new SimpleFrameset($page);        $frameset->addFrame($frame);        $this->assertEqual($frameset->getRaw(), 'Stuff');    }    function testRawContentIsFromAllFrames() {        $page = &new MockSimplePage();        $page->expectNever('getRaw');        $frame1 = &new MockSimplePage();        $frame1->setReturnValue('getRaw', 'Stuff1');        $frame2 = &new MockSimplePage();        $frame2->setReturnValue('getRaw', 'Stuff2');        $frameset = &new SimpleFrameset($page);        $frameset->addFrame($frame1);        $frameset->addFrame($frame2);        $this->assertEqual($frameset->getRaw(), 'Stuff1Stuff2');    }    function testTextContentIsFromOnlyFrame() {        $page = &new MockSimplePage();        $page->expectNever('getText');        $frame = &new MockSimplePage();        $frame->setReturnValue('getText', 'Stuff');        $frameset = &new SimpleFrameset($page);        $frameset->addFrame($frame);        $this->assertEqual($frameset->getText(), 'Stuff');    }    function testTextContentIsFromAllFrames() {        $page = &new MockSimplePage();        $page->expectNever('getText');        $frame1 = &new MockSimplePage();        $frame1->setReturnValue('getText', 'Stuff1');        $frame2 = &new MockSimplePage();        $frame2->setReturnValue('getText', 'Stuff2');        $frameset = &new SimpleFrameset($page);        $frameset->addFrame($frame1);        $frameset->addFrame($frame2);        $this->assertEqual($frameset->getText(), 'Stuff1 Stuff2');    }    function testFieldFoundIsFirstInFramelist() {        $frame1 = &new MockSimplePage();        $frame1->setReturnValue('getField', null);        $frame1->expectOnce('getField', array(new SimpleByName('a')));        $frame2 = &new MockSimplePage();        $frame2->setReturnValue('getField', 'A');        $frame2->expectOnce('getField', array(new SimpleByName('a')));        $frame3 = &new MockSimplePage();        $frame3->expectNever('getField');        $page = &new MockSimplePage();        $frameset = &new SimpleFrameset($page);        $frameset->addFrame($frame1);        $frameset->addFrame($frame2);        $frameset->addFrame($frame3);        $this->assertIdentical($frameset->getField(new SimpleByName('a')), 'A');    }    function testFrameReplacementByIndex() {        $page = &new MockSimplePage();        $page->expectNever('getRaw');        $frame1 = &new MockSimplePage();        $frame1->setReturnValue('getRaw', 'Stuff1');        $frame2 = &new MockSimplePage();        $frame2->setReturnValue('getRaw', 'Stuff2');        $frameset = &new SimpleFrameset($page);        $frameset->addFrame($frame1);        $frameset->setFrame(array(1), $frame2);        $this->assertEqual($frameset->getRaw(), 'Stuff2');    }    function testFrameReplacementByName() {        $page = &new MockSimplePage();        $page->expectNever('getRaw');        $frame1 = &new MockSimplePage();        $frame1->setReturnValue('getRaw', 'Stuff1');        $frame2 = &new MockSimplePage();        $frame2->setReturnValue('getRaw', 'Stuff2');        $frameset = &new SimpleFrameset($page);        $frameset->addFrame($frame1, 'a');        $frameset->setFrame(array('a'), $frame2);        $this->assertEqual($frameset->getRaw(), 'Stuff2');    }}class TestOfFrameNavigation extends UnitTestCase {    function testStartsWithoutFrameFocus() {        $page = &new MockSimplePage();        $frameset = &new SimpleFrameset($page);        $frameset->addFrame($frame);        $this->assertFalse($frameset->getFrameFocus());    }    function testCanFocusOnSingleFrame() {        $page = &new MockSimplePage();        $page->expectNever('getRaw');        $frame = &new MockSimplePage();        $frame->setReturnValue('getFrameFocus', array());        $frame->setReturnValue('getRaw', 'Stuff');        $frameset = &new SimpleFrameset($page);        $frameset->addFrame($frame);        $this->assertFalse($frameset->setFrameFocusByIndex(0));        $this->assertTrue($frameset->setFrameFocusByIndex(1));        $this->assertEqual($frameset->getRaw(), 'Stuff');        $this->assertFalse($frameset->setFrameFocusByIndex(2));        $this->assertIdentical($frameset->getFrameFocus(), array(1));    }    function testContentComesFromFrameInFocus() {        $page = &new MockSimplePage();        $frame1 = &new MockSimplePage();        $frame1->setReturnValue('getRaw', 'Stuff1');        $frame1->setReturnValue('getFrameFocus', array());        $frame2 = &new MockSimplePage();        $frame2->setReturnValue('getRaw', 'Stuff2');        $frame2->setReturnValue('getFrameFocus', array());        $frameset = &new SimpleFrameset($page);        $frameset->addFrame($frame1);        $frameset->addFrame($frame2);        $this->assertTrue($frameset->setFrameFocusByIndex(1));        $this->assertEqual($frameset->getFrameFocus(), array(1));        $this->assertEqual($frameset->getRaw(), 'Stuff1');        $this->assertTrue($frameset->setFrameFocusByIndex(2));        $this->assertEqual($frameset->getFrameFocus(), array(2));        $this->assertEqual($frameset->getRaw(), 'Stuff2');        $this->assertFalse($frameset->setFrameFocusByIndex(3));        $this->assertEqual($frameset->getFrameFocus(), array(2));        $frameset->clearFrameFocus();        $this->assertEqual($frameset->getRaw(), 'Stuff1Stuff2');    }    function testCanFocusByName() {        $page = &new MockSimplePage();        $frame1 = &new MockSimplePage();        $frame1->setReturnValue('getRaw', 'Stuff1');        $frame1->setReturnValue('getFrameFocus', array());        $frame2 = &new MockSimplePage();        $frame2->setReturnValue('getRaw', 'Stuff2');        $frame2->setReturnValue('getFrameFocus', array());        $frameset = &new SimpleFrameset($page);        $frameset->addFrame($frame1, 'A');        $frameset->addFrame($frame2, 'B');        $this->assertTrue($frameset->setFrameFocus('A'));        $this->assertEqual($frameset->getFrameFocus(), array('A'));        $this->assertEqual($frameset->getRaw(), 'Stuff1');        $this->assertTrue($frameset->setFrameFocusByIndex(2));        $this->assertEqual($frameset->getFrameFocus(), array('B'));        $this->assertEqual($frameset->getRaw(), 'Stuff2');        $this->assertFalse($frameset->setFrameFocus('z'));        $frameset->clearFrameFocus();        $this->assertEqual($frameset->getRaw(), 'Stuff1Stuff2');    }}class TestOfFramesetPageInterface extends UnitTestCase {    var $_page_interface;    var $_frameset_interface;    function TestOfFramesetPageInterface() {        $this->UnitTestCase();        $this->_page_interface = $this->_getPageMethods();        $this->_frameset_interface = $this->_getFramesetMethods();    }    function assertListInAnyOrder($list, $expected) {        sort($list);        sort($expected);        $this->assertEqual($list, $expected);    }    function _getPageMethods() {        $methods = array();        foreach (get_class_methods('SimplePage') as $method) {            if (strtolower($method) == strtolower('SimplePage')) {                continue;            }            if (strtolower($method) == strtolower('getFrameset')) {                continue;            }            if (strncmp($method, '_', 1) == 0) {                continue;            }            if (strncmp($method, 'accept', 6) == 0) {                continue;            }            $methods[] = $method;        }        return $methods;    }

⌨️ 快捷键说明

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