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("\n")); $this->assertTrue($parser->parse("\n")); $this->assertTrue($parser->parse("\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("\n"); $parser->parse("\n"); $this->assertTrue($parser->parse("\n")); $this->assertTrue($parser->parse("a_group\n")); $this->assertTrue($parser->parse("\n")); $parser->parse("\n"); } function testEmptyCase() { $listener = &new MockSimpleScorer(); $listener->expectOnce('paintCaseStart', array('a_case')); $listener->expectOnce('paintCaseEnd', array('a_case')); $parser = &new SimpleTestXmlParser($listener); $parser->parse("\n"); $parser->parse("\n"); $this->assertTrue($parser->parse("\n")); $this->assertTrue($parser->parse("a_case\n")); $this->assertTrue($parser->parse("\n")); $parser->parse("\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("\n"); $parser->parse("\n"); $parser->parse("\n"); $parser->parse("a_case\n"); $this->assertTrue($parser->parse("\n")); $this->assertTrue($parser->parse("a_method\n")); $this->assertTrue($parser->parse("\n")); $parser->parse("\n"); $parser->parse("\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("\n"); $parser->parse("\n"); $this->assertTrue($parser->parse("\n")); $this->assertTrue($parser->parse("a_group\n")); $this->assertTrue($parser->parse("\n")); $this->assertTrue($parser->parse("b_group\n")); $this->assertTrue($parser->parse("\n")); $this->assertTrue($parser->parse("\n")); $parser->parse("\n"); } } class AnyOldSignal { var $stuff = true; } class TestOfXmlResultsParsing extends UnitTestCase { function sendValidStart(&$parser) { $parser->parse("\n"); $parser->parse("\n"); $parser->parse("\n"); $parser->parse("a_case\n"); $parser->parse("\n"); $parser->parse("a_method\n"); } function sendValidEnd(&$parser) { $parser->parse("\n"); $parser->parse("\n"); $parser->parse("\n"); } function testPass() { $listener = &new MockSimpleScorer(); $listener->expectOnce('paintPass', array('a_message')); $parser = &new SimpleTestXmlParser($listener); $this->sendValidStart($parser); $this->assertTrue($parser->parse("a_message\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("a_message\n")); $this->sendValidEnd($parser); } function testException() { $listener = &new MockSimpleScorer(); $listener->expectOnce('paintException', array('a_message')); $parser = &new SimpleTestXmlParser($listener); $this->sendValidStart($parser); $this->assertTrue($parser->parse("a_message\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( "\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("a_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("\n")); $this->sendValidEnd($parser); } } ?>