xml_test.php.svn-base

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

SVN-BASE
187
字号
<?php// $Id: xml_test.php 1509 2007-05-08 22:11:49Z lastcraft $require_once(dirname(__FILE__) . '/../autorun.php');require_once(dirname(__FILE__) . '/../xml.php');Mock::generate('SimpleScorer');if (! function_exists('xml_parser_create')) {    SimpleTest::ignore('TestOfXmlStructureParsing');    SimpleTest::ignore('TestOfXmlResultsParsing');}class TestOfNestingTags extends UnitTestCase {    function testGroupSize() {        $nesting = new NestingGroupTag(array('SIZE' => 2));        $this->assertEqual($nesting->getSize(), 2);    }}class TestOfXmlStructureParsing extends UnitTestCase {    function testValidXml() {        $listener = &new MockSimpleScorer();        $listener->expectNever('paintGroupStart');        $listener->expectNever('paintGroupEnd');        $listener->expectNever('paintCaseStart');        $listener->expectNever('paintCaseEnd');        $parser = &new SimpleTestXmlParser($listener);        $this->assertTrue($parser->parse("<?xml version=\"1.0\"?>\n"));        $this->assertTrue($parser->parse("<run>\n"));        $this->assertTrue($parser->parse("</run>\n"));    }    function testEmptyGroup() {        $listener = &new MockSimpleScorer();        $listener->expectOnce('paintGroupStart', array('a_group', 7));        $listener->expectOnce('paintGroupEnd', array('a_group'));        $parser = &new SimpleTestXmlParser($listener);        $parser->parse("<?xml version=\"1.0\"?>\n");        $parser->parse("<run>\n");        $this->assertTrue($parser->parse("<group size=\"7\">\n"));        $this->assertTrue($parser->parse("<name>a_group</name>\n"));        $this->assertTrue($parser->parse("</group>\n"));        $parser->parse("</run>\n");    }    function testEmptyCase() {        $listener = &new MockSimpleScorer();        $listener->expectOnce('paintCaseStart', array('a_case'));        $listener->expectOnce('paintCaseEnd', array('a_case'));        $parser = &new SimpleTestXmlParser($listener);        $parser->parse("<?xml version=\"1.0\"?>\n");        $parser->parse("<run>\n");        $this->assertTrue($parser->parse("<case>\n"));        $this->assertTrue($parser->parse("<name>a_case</name>\n"));        $this->assertTrue($parser->parse("</case>\n"));        $parser->parse("</run>\n");    }    function testEmptyMethod() {        $listener = &new MockSimpleScorer();        $listener->expectOnce('paintCaseStart', array('a_case'));        $listener->expectOnce('paintCaseEnd', array('a_case'));        $listener->expectOnce('paintMethodStart', array('a_method'));        $listener->expectOnce('paintMethodEnd', array('a_method'));        $parser = &new SimpleTestXmlParser($listener);        $parser->parse("<?xml version=\"1.0\"?>\n");        $parser->parse("<run>\n");        $parser->parse("<case>\n");        $parser->parse("<name>a_case</name>\n");        $this->assertTrue($parser->parse("<test>\n"));        $this->assertTrue($parser->parse("<name>a_method</name>\n"));        $this->assertTrue($parser->parse("</test>\n"));        $parser->parse("</case>\n");        $parser->parse("</run>\n");    }    function testNestedGroup() {        $listener = &new MockSimpleScorer();        $listener->expectArgumentsAt(0, 'paintGroupStart', array('a_group', 7));        $listener->expectArgumentsAt(1, 'paintGroupStart', array('b_group', 3));        $listener->expectCallCount('paintGroupStart', 2);        $listener->expectArgumentsAt(0, 'paintGroupEnd', array('b_group'));        $listener->expectArgumentsAt(1, 'paintGroupEnd', array('a_group'));        $listener->expectCallCount('paintGroupEnd', 2);        $parser = &new SimpleTestXmlParser($listener);        $parser->parse("<?xml version=\"1.0\"?>\n");        $parser->parse("<run>\n");        $this->assertTrue($parser->parse("<group size=\"7\">\n"));        $this->assertTrue($parser->parse("<name>a_group</name>\n"));        $this->assertTrue($parser->parse("<group size=\"3\">\n"));        $this->assertTrue($parser->parse("<name>b_group</name>\n"));        $this->assertTrue($parser->parse("</group>\n"));        $this->assertTrue($parser->parse("</group>\n"));        $parser->parse("</run>\n");    }}class AnyOldSignal {    var $stuff = true;}class TestOfXmlResultsParsing extends UnitTestCase {    function sendValidStart(&$parser) {        $parser->parse("<?xml version=\"1.0\"?>\n");        $parser->parse("<run>\n");        $parser->parse("<case>\n");        $parser->parse("<name>a_case</name>\n");        $parser->parse("<test>\n");        $parser->parse("<name>a_method</name>\n");    }    function sendValidEnd(&$parser) {        $parser->parse("</test>\n");        $parser->parse("</case>\n");        $parser->parse("</run>\n");    }    function testPass() {        $listener = &new MockSimpleScorer();        $listener->expectOnce('paintPass', array('a_message'));        $parser = &new SimpleTestXmlParser($listener);        $this->sendValidStart($parser);        $this->assertTrue($parser->parse("<pass>a_message</pass>\n"));        $this->sendValidEnd($parser);    }    function testFail() {        $listener = &new MockSimpleScorer();        $listener->expectOnce('paintFail', array('a_message'));        $parser = &new SimpleTestXmlParser($listener);        $this->sendValidStart($parser);        $this->assertTrue($parser->parse("<fail>a_message</fail>\n"));        $this->sendValidEnd($parser);    }    function testException() {        $listener = &new MockSimpleScorer();        $listener->expectOnce('paintError', array('a_message'));        $parser = &new SimpleTestXmlParser($listener);        $this->sendValidStart($parser);        $this->assertTrue($parser->parse("<exception>a_message</exception>\n"));        $this->sendValidEnd($parser);    }    function testSkip() {        $listener = &new MockSimpleScorer();        $listener->expectOnce('paintSkip', array('a_message'));        $parser = &new SimpleTestXmlParser($listener);        $this->sendValidStart($parser);        $this->assertTrue($parser->parse("<skip>a_message</skip>\n"));        $this->sendValidEnd($parser);    }    function testSignal() {        $signal = new AnyOldSignal();        $signal->stuff = "Hello";        $listener = &new MockSimpleScorer();        $listener->expectOnce('paintSignal', array('a_signal', $signal));        $parser = &new SimpleTestXmlParser($listener);        $this->sendValidStart($parser);        $this->assertTrue($parser->parse(                "<signal type=\"a_signal\"><![CDATA[" .                serialize($signal) . "]]></signal>\n"));        $this->sendValidEnd($parser);    }    function testMessage() {        $listener = &new MockSimpleScorer();        $listener->expectOnce('paintMessage', array('a_message'));        $parser = &new SimpleTestXmlParser($listener);        $this->sendValidStart($parser);        $this->assertTrue($parser->parse("<message>a_message</message>\n"));        $this->sendValidEnd($parser);    }    function testFormattedMessage() {        $listener = &new MockSimpleScorer();        $listener->expectOnce('paintFormattedMessage', array("\na\tmessage\n"));        $parser = &new SimpleTestXmlParser($listener);        $this->sendValidStart($parser);        $this->assertTrue($parser->parse("<formatted><![CDATA[\na\tmessage\n]]></formatted>\n"));        $this->sendValidEnd($parser);    }}?>

⌨️ 快捷键说明

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