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 + -
显示快捷键?