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);
}
}
?>