From 7949f7fe746dbbe3eeefbc123bbb2c551b091733 Mon Sep 17 00:00:00 2001 From: wei <> Date: Fri, 14 Apr 2006 05:14:34 +0000 Subject: Fixed #93 and #121 --- tests/UnitTests/simpletest/test/frames_test.php | 569 ------------------------ 1 file changed, 569 deletions(-) delete mode 100644 tests/UnitTests/simpletest/test/frames_test.php (limited to 'tests/UnitTests/simpletest/test/frames_test.php') diff --git a/tests/UnitTests/simpletest/test/frames_test.php b/tests/UnitTests/simpletest/test/frames_test.php deleted file mode 100644 index 5226d070..00000000 --- a/tests/UnitTests/simpletest/test/frames_test.php +++ /dev/null @@ -1,569 +0,0 @@ -setReturnValue('getTitle', 'This page'); - $frameset = &new SimpleFrameset($page); - $this->assertEqual($frameset->getTitle(), 'This page'); - } - - function TestHeadersReadFromFramesetByDefault() { - $page = &new MockSimplePage($this); - $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($this); - $page->setReturnValue('getRaw', 'This content'); - $frameset = &new SimpleFrameset($page); - $this->assertEqual($frameset->getRaw(), ''); - } - - function testRawContentIsFromOnlyFrame() { - $page = &new MockSimplePage($this); - $page->expectNever('getRaw'); - - $frame = &new MockSimplePage($this); - $frame->setReturnValue('getRaw', 'Stuff'); - - $frameset = &new SimpleFrameset($page); - $frameset->addFrame($frame); - $this->assertEqual($frameset->getRaw(), 'Stuff'); - } - - function testRawContentIsFromAllFrames() { - $page = &new MockSimplePage($this); - $page->expectNever('getRaw'); - - $frame1 = &new MockSimplePage($this); - $frame1->setReturnValue('getRaw', 'Stuff1'); - - $frame2 = &new MockSimplePage($this); - $frame2->setReturnValue('getRaw', 'Stuff2'); - - $frameset = &new SimpleFrameset($page); - $frameset->addFrame($frame1); - $frameset->addFrame($frame2); - $this->assertEqual($frameset->getRaw(), 'Stuff1Stuff2'); - } - - function testTextContentIsFromOnlyFrame() { - $page = &new MockSimplePage($this); - $page->expectNever('getText'); - - $frame = &new MockSimplePage($this); - $frame->setReturnValue('getText', 'Stuff'); - - $frameset = &new SimpleFrameset($page); - $frameset->addFrame($frame); - $this->assertEqual($frameset->getText(), 'Stuff'); - } - - function testTextContentIsFromAllFrames() { - $page = &new MockSimplePage($this); - $page->expectNever('getText'); - - $frame1 = &new MockSimplePage($this); - $frame1->setReturnValue('getText', 'Stuff1'); - - $frame2 = &new MockSimplePage($this); - $frame2->setReturnValue('getText', 'Stuff2'); - - $frameset = &new SimpleFrameset($page); - $frameset->addFrame($frame1); - $frameset->addFrame($frame2); - $this->assertEqual($frameset->getText(), 'Stuff1 Stuff2'); - } - - function testFieldIsFirstInFramelist() { - $frame1 = &new MockSimplePage($this); - $frame1->setReturnValue('getField', null); - $frame1->expectOnce('getField', array('a')); - - $frame2 = &new MockSimplePage($this); - $frame2->setReturnValue('getField', 'A'); - $frame2->expectOnce('getField', array('a')); - - $frame3 = &new MockSimplePage($this); - $frame3->expectNever('getField'); - - $page = &new MockSimplePage($this); - $frameset = &new SimpleFrameset($page); - $frameset->addFrame($frame1); - $frameset->addFrame($frame2); - $frameset->addFrame($frame3); - - $this->assertIdentical($frameset->getField('a'), 'A'); - $frame1->tally(); - $frame2->tally(); - } - - function testFrameReplacementByIndex() { - $page = &new MockSimplePage($this); - $page->expectNever('getRaw'); - - $frame1 = &new MockSimplePage($this); - $frame1->setReturnValue('getRaw', 'Stuff1'); - - $frame2 = &new MockSimplePage($this); - $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($this); - $page->expectNever('getRaw'); - - $frame1 = &new MockSimplePage($this); - $frame1->setReturnValue('getRaw', 'Stuff1'); - - $frame2 = &new MockSimplePage($this); - $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($this); - $frameset = &new SimpleFrameset($page); - $frameset->addFrame($frame); - $this->assertFalse($frameset->getFrameFocus()); - } - - function testCanFocusOnSingleFrame() { - $page = &new MockSimplePage($this); - $page->expectNever('getRaw'); - - $frame = &new MockSimplePage($this); - $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($this); - - $frame1 = &new MockSimplePage($this); - $frame1->setReturnValue('getRaw', 'Stuff1'); - $frame1->setReturnValue('getFrameFocus', array()); - - $frame2 = &new MockSimplePage($this); - $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($this); - - $frame1 = &new MockSimplePage($this); - $frame1->setReturnValue('getRaw', 'Stuff1'); - $frame1->setReturnValue('getFrameFocus', array()); - - $frame2 = &new MockSimplePage($this); - $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; - } - - 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($this); - $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($this)); - $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 testAbsoluteUrlsComeFromBothFrames() { - $page = &new MockSimplePage($this); - $page->expectNever('getAbsoluteUrls'); - - $frame1 = &new MockSimplePage($this); - $frame1->setReturnValue( - 'getAbsoluteUrls', - array('http://www.lastcraft.com/', 'http://myserver/')); - - $frame2 = &new MockSimplePage($this); - $frame2->setReturnValue( - 'getAbsoluteUrls', - array('http://www.lastcraft.com/', 'http://test/')); - - $frameset = &new SimpleFrameset($page); - $frameset->addFrame($frame1); - $frameset->addFrame($frame2); - $this->assertListInAnyOrder( - $frameset->getAbsoluteUrls(), - array('http://www.lastcraft.com/', 'http://myserver/', 'http://test/')); - } - - function testRelativeUrlsComeFromBothFrames() { - $frame1 = &new MockSimplePage($this); - $frame1->setReturnValue( - 'getRelativeUrls', - array('/', '.', '/test/', 'goodbye.php')); - - $frame2 = &new MockSimplePage($this); - $frame2->setReturnValue( - 'getRelativeUrls', - array('/', '..', '/test/', 'hello.php')); - - $page = &new MockSimplePage($this); - $page->expectNever('getRelativeUrls'); - - $frameset = &new SimpleFrameset($page); - $frameset->addFrame($frame1); - $frameset->addFrame($frame2); - $this->assertListInAnyOrder( - $frameset->getRelativeUrls(), - array('/', '.', '/test/', 'goodbye.php', '..', 'hello.php')); - } - - function testLabelledUrlsComeFromBothFrames() { - $frame1 = &new MockSimplePage($this); - $frame1->setReturnValue( - 'getUrlsByLabel', - array(new SimpleUrl('goodbye.php')), - array('a')); - - $frame2 = &new MockSimplePage($this); - $frame2->setReturnValue( - 'getUrlsByLabel', - array(new SimpleUrl('hello.php')), - array('a')); - - $frameset = &new SimpleFrameset(new MockSimplePage($this)); - $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($this); - $frame1->setReturnValue('getUrlById', new SimpleUrl('four.php'), array(4)); - $frame1->setReturnValue('getUrlById', false, array(5)); - - $frame2 = &new MockSimplePage($this); - $frame2->setReturnValue('getUrlById', false, array(4)); - $frame2->setReturnValue('getUrlById', new SimpleUrl('five.php'), array(5)); - - $frameset = &new SimpleFrameset(new MockSimplePage($this)); - $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($this); - $frame1->setReturnValue('getAbsoluteUrls', array('a')); - $frame1->setReturnValue('getRelativeUrls', array('r')); - $frame1->setReturnValue('getUrlsByLabel', array(new SimpleUrl('l'))); - $frame1->setReturnValue('getUrlById', new SimpleUrl('i')); - - $frame2 = &new MockSimplePage($this); - $frame2->expectNever('getAbsoluteUrls'); - $frame2->expectNever('getRelativeUrls'); - $frame2->expectNever('getUrlsByLabel'); - $frame2->expectNever('getUrlById'); - - $frameset = &new SimpleFrameset(new MockSimplePage($this)); - $frameset->addFrame($frame1, 'A'); - $frameset->addFrame($frame2, 'B'); - $frameset->setFrameFocus('A'); - - $this->assertIdentical($frameset->getAbsoluteUrls(), array('a')); - $this->assertIdentical($frameset->getRelativeUrls(), array('r')); - $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($this); - - $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($this)); - $frameset->addFrame($frame, 'A'); - $frameset->setFrameFocus('A'); - - $this->assertIdentical($frameset->getUrlsByLabel('label'), array($by_label)); - $this->assertIdentical($frameset->getUrlById(99), $by_id); - } - - function testFindingFormsByAllFinders() { - $finders = array( - 'getFormBySubmitLabel', 'getFormBySubmitName', - 'getFormBySubmitId', 'getFormByImageLabel', - 'getFormByImageName', 'getFormByImageId', 'getFormById'); - $forms = array(); - - $frame = &new MockSimplePage($this); - for ($i = 0; $i < count($finders); $i++) { - $forms[$i] = &new MockSimpleForm($this); - $frame->setReturnReference($finders[$i], $forms[$i], array('a')); - } - - $frameset = &new SimpleFrameset(new MockSimplePage($this)); - $frameset->addFrame(new MockSimplePage($this), 'A'); - $frameset->addFrame($frame, 'B'); - for ($i = 0; $i < count($finders); $i++) { - $method = $finders[$i]; - $this->assertReference($frameset->$method('a'), $forms[$i]); - } - - $frameset->setFrameFocus('A'); - for ($i = 0; $i < count($finders); $i++) { - $method = $finders[$i]; - $this->assertNull($frameset->$method('a')); - } - - $frameset->setFrameFocus('B'); - for ($i = 0; $i < count($finders); $i++) { - $method = $finders[$i]; - $this->assertReference($frameset->$method('a'), $forms[$i]); - } - } - - function testSettingAllFrameFieldsWhenNoFrameFocus() { - $frame1 = &new MockSimplePage($this); - $frame1->expectOnce('setField', array('a', 'A')); - $frame1->expectOnce('setFieldById', array(22, 'A')); - - $frame2 = &new MockSimplePage($this); - $frame2->expectOnce('setField', array('a', 'A')); - $frame2->expectOnce('setFieldById', array(22, 'A')); - - $frameset = &new SimpleFrameset(new MockSimplePage($this)); - $frameset->addFrame($frame1, 'A'); - $frameset->addFrame($frame2, 'B'); - - $frameset->setField('a', 'A'); - $frameset->setFieldById(22, 'A'); - $frame1->tally(); - $frame2->tally(); - } - - function testOnlySettingFieldFromFocusedFrame() { - $frame1 = &new MockSimplePage($this); - $frame1->expectOnce('setField', array('a', 'A')); - $frame1->expectOnce('setFieldById', array(22, 'A')); - - $frame2 = &new MockSimplePage($this); - $frame2->expectNever('setField'); - $frame2->expectNever('setFieldById'); - - $frameset = &new SimpleFrameset(new MockSimplePage($this)); - $frameset->addFrame($frame1, 'A'); - $frameset->addFrame($frame2, 'B'); - $frameset->setFrameFocus('A'); - - $frameset->setField('a', 'A'); - $frameset->setFieldById(22, 'A'); - $frame1->tally(); - } - - function testOnlyGettingFieldFromFocusedFrame() { - $frame1 = &new MockSimplePage($this); - $frame1->setReturnValue('getField', 'f', array('a')); - $frame1->setReturnValue('getFieldById', 'i', array(7)); - - $frame2 = &new MockSimplePage($this); - $frame2->expectNever('getField'); - $frame2->expectNever('getFieldById'); - - $frameset = &new SimpleFrameset(new MockSimplePage($this)); - $frameset->addFrame($frame1, 'A'); - $frameset->addFrame($frame2, 'B'); - $frameset->setFrameFocus('A'); - - $this->assertIdentical($frameset->getField('a'), 'f'); - $this->assertIdentical($frameset->getFieldById(7), 'i'); - } - } -?> \ No newline at end of file -- cgit v1.2.3