frames_test.php.svn-base

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

SVN-BASE
549
字号
    function _getFramesetMethods() {        $methods = array();        foreach (get_class_methods('SimpleFrameset') as $method) {            if (strtolower($method) == strtolower('SimpleFrameset')) {                continue;            }            if (strncmp($method, '_', 1) == 0) {                continue;            }            if (strncmp($method, 'add', 3) == 0) {                continue;            }            $methods[] = $method;        }        return $methods;    }    function testFramsetHasPageInterface() {        $difference = array();        foreach ($this->_page_interface as $method) {            if (! in_array($method, $this->_frameset_interface)) {                $this->fail("No [$method] in Frameset class");                return;            }        }        $this->pass('Frameset covers Page interface');    }    function testHeadersReadFromFrameIfInFocus() {        $frame = &new MockSimplePage();        $frame->setReturnValue('getUrl', new SimpleUrl('http://localhost/stuff'));        $frame->setReturnValue('getRequest', 'POST stuff');        $frame->setReturnValue('getMethod', 'POST');        $frame->setReturnValue('getRequestData', array('a' => 'A'));        $frame->setReturnValue('getHeaders', 'Header: content');        $frame->setReturnValue('getMimeType', 'text/xml');        $frame->setReturnValue('getResponseCode', 401);        $frame->setReturnValue('getTransportError', 'Could not parse headers');        $frame->setReturnValue('getAuthentication', 'Basic');        $frame->setReturnValue('getRealm', 'Safe place');        $frameset = &new SimpleFrameset(new MockSimplePage());        $frameset->addFrame($frame);        $frameset->setFrameFocusByIndex(1);        $url = new SimpleUrl('http://localhost/stuff');        $url->setTarget(1);        $this->assertIdentical($frameset->getUrl(), $url);        $this->assertIdentical($frameset->getRequest(), 'POST stuff');        $this->assertIdentical($frameset->getMethod(), 'POST');        $this->assertIdentical($frameset->getRequestData(), array('a' => 'A'));        $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 testUrlsComeFromBothFrames() {        $page = &new MockSimplePage();        $page->expectNever('getUrls');        $frame1 = &new MockSimplePage();        $frame1->setReturnValue(                'getUrls',                array('http://www.lastcraft.com/', 'http://myserver/'));        $frame2 = &new MockSimplePage();        $frame2->setReturnValue(                'getUrls',                array('http://www.lastcraft.com/', 'http://test/'));        $frameset = &new SimpleFrameset($page);        $frameset->addFrame($frame1);        $frameset->addFrame($frame2);        $this->assertListInAnyOrder(                $frameset->getUrls(),                array('http://www.lastcraft.com/', 'http://myserver/', 'http://test/'));    }    function testLabelledUrlsComeFromBothFrames() {        $frame1 = &new MockSimplePage();        $frame1->setReturnValue(                'getUrlsByLabel',                array(new SimpleUrl('goodbye.php')),                array('a'));        $frame2 = &new MockSimplePage();        $frame2->setReturnValue(                'getUrlsByLabel',                array(new SimpleUrl('hello.php')),                array('a'));        $frameset = &new SimpleFrameset(new MockSimplePage());        $frameset->addFrame($frame1);        $frameset->addFrame($frame2, 'Two');        $expected1 = new SimpleUrl('goodbye.php');        $expected1->setTarget(1);        $expected2 = new SimpleUrl('hello.php');        $expected2->setTarget('Two');        $this->assertEqual(                $frameset->getUrlsByLabel('a'),                array($expected1, $expected2));    }    function testUrlByIdComesFromFirstFrameToRespond() {        $frame1 = &new MockSimplePage();        $frame1->setReturnValue('getUrlById', new SimpleUrl('four.php'), array(4));        $frame1->setReturnValue('getUrlById', false, array(5));        $frame2 = &new MockSimplePage();        $frame2->setReturnValue('getUrlById', false, array(4));        $frame2->setReturnValue('getUrlById', new SimpleUrl('five.php'), array(5));        $frameset = &new SimpleFrameset(new MockSimplePage());        $frameset->addFrame($frame1);        $frameset->addFrame($frame2);        $four = new SimpleUrl('four.php');        $four->setTarget(1);        $this->assertEqual($frameset->getUrlById(4), $four);        $five = new SimpleUrl('five.php');        $five->setTarget(2);        $this->assertEqual($frameset->getUrlById(5), $five);    }    function testReadUrlsFromFrameInFocus() {        $frame1 = &new MockSimplePage();        $frame1->setReturnValue('getUrls', array('a'));        $frame1->setReturnValue('getUrlsByLabel', array(new SimpleUrl('l')));        $frame1->setReturnValue('getUrlById', new SimpleUrl('i'));        $frame2 = &new MockSimplePage();        $frame2->expectNever('getUrls');        $frame2->expectNever('getUrlsByLabel');        $frame2->expectNever('getUrlById');        $frameset = &new SimpleFrameset(new MockSimplePage());        $frameset->addFrame($frame1, 'A');        $frameset->addFrame($frame2, 'B');        $frameset->setFrameFocus('A');        $this->assertIdentical($frameset->getUrls(), array('a'));        $expected = new SimpleUrl('l');        $expected->setTarget('A');        $this->assertIdentical($frameset->getUrlsByLabel('label'), array($expected));        $expected = new SimpleUrl('i');        $expected->setTarget('A');        $this->assertIdentical($frameset->getUrlById(99), $expected);    }    function testReadFrameTaggedUrlsFromFrameInFocus() {        $frame = &new MockSimplePage();        $by_label = new SimpleUrl('l');        $by_label->setTarget('L');        $frame->setReturnValue('getUrlsByLabel', array($by_label));        $by_id = new SimpleUrl('i');        $by_id->setTarget('I');        $frame->setReturnValue('getUrlById', $by_id);        $frameset = &new SimpleFrameset(new MockSimplePage());        $frameset->addFrame($frame, 'A');        $frameset->setFrameFocus('A');        $this->assertIdentical($frameset->getUrlsByLabel('label'), array($by_label));        $this->assertIdentical($frameset->getUrlById(99), $by_id);    }    function testFindingFormsById() {        $frame = &new MockSimplePage();        $form = &new MockSimpleForm();        $frame->setReturnReference('getFormById', $form, array('a'));        $frameset = &new SimpleFrameset(new MockSimplePage());        $frameset->addFrame(new MockSimplePage(), 'A');        $frameset->addFrame($frame, 'B');        $this->assertReference($frameset->getFormById('a'), $form);        $frameset->setFrameFocus('A');        $this->assertNull($frameset->getFormById('a'));        $frameset->setFrameFocus('B');        $this->assertReference($frameset->getFormById('a'), $form);    }    function testFindingFormsBySubmit() {        $frame = &new MockSimplePage();        $form = &new MockSimpleForm();        $frame->setReturnReference(                'getFormBySubmit',                $form,                array(new SimpleByLabel('a')));        $frameset = &new SimpleFrameset(new MockSimplePage());        $frameset->addFrame(new MockSimplePage(), 'A');        $frameset->addFrame($frame, 'B');        $this->assertReference($frameset->getFormBySubmit(new SimpleByLabel('a')), $form);        $frameset->setFrameFocus('A');        $this->assertNull($frameset->getFormBySubmit(new SimpleByLabel('a')));        $frameset->setFrameFocus('B');        $this->assertReference($frameset->getFormBySubmit(new SimpleByLabel('a')), $form);    }    function testFindingFormsByImage() {        $frame = &new MockSimplePage();        $form = &new MockSimpleForm();        $frame->setReturnReference(                'getFormByImage',                $form,                array(new SimpleByLabel('a')));        $frameset = &new SimpleFrameset(new MockSimplePage());        $frameset->addFrame(new MockSimplePage(), 'A');        $frameset->addFrame($frame, 'B');        $this->assertReference($frameset->getFormByImage(new SimpleByLabel('a')), $form);        $frameset->setFrameFocus('A');        $this->assertNull($frameset->getFormByImage(new SimpleByLabel('a')));        $frameset->setFrameFocus('B');        $this->assertReference($frameset->getFormByImage(new SimpleByLabel('a')), $form);    }    function testSettingAllFrameFieldsWhenNoFrameFocus() {        $frame1 = &new MockSimplePage();        $frame1->expectOnce('setField', array(new SimpleById(22), 'A'));        $frame2 = &new MockSimplePage();        $frame2->expectOnce('setField', array(new SimpleById(22), 'A'));        $frameset = &new SimpleFrameset(new MockSimplePage());        $frameset->addFrame($frame1, 'A');        $frameset->addFrame($frame2, 'B');        $frameset->setField(new SimpleById(22), 'A');    }    function testOnlySettingFieldFromFocusedFrame() {        $frame1 = &new MockSimplePage();        $frame1->expectOnce('setField', array(new SimpleByLabelOrName('a'), 'A'));        $frame2 = &new MockSimplePage();        $frame2->expectNever('setField');        $frameset = &new SimpleFrameset(new MockSimplePage());        $frameset->addFrame($frame1, 'A');        $frameset->addFrame($frame2, 'B');        $frameset->setFrameFocus('A');        $frameset->setField(new SimpleByLabelOrName('a'), 'A');    }    function testOnlyGettingFieldFromFocusedFrame() {        $frame1 = &new MockSimplePage();        $frame1->setReturnValue('getField', 'f', array(new SimpleByName('a')));        $frame2 = &new MockSimplePage();        $frame2->expectNever('getField');        $frameset = &new SimpleFrameset(new MockSimplePage());        $frameset->addFrame($frame1, 'A');        $frameset->addFrame($frame2, 'B');        $frameset->setFrameFocus('A');        $this->assertIdentical($frameset->getField(new SimpleByName('a')), 'f');    }}?>

⌨️ 快捷键说明

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