added first test cases (phpunit)
git-svn-id: svn://netflint.net/xmpphp@40 ef36c318-a008-4979-b6e8-6b496270793b
This commit is contained in:
parent
b5aa1b77b0
commit
4a4e27e91d
31
tests/AllTests.php
Executable file
31
tests/AllTests.php
Executable file
@ -0,0 +1,31 @@
|
|||||||
|
<?php
|
||||||
|
if (!defined('PHPUnit_MAIN_METHOD')) {
|
||||||
|
define('PHPUnit_MAIN_METHOD', 'AllTests::main');
|
||||||
|
}
|
||||||
|
|
||||||
|
require_once 'XMPPHP/LogTest.php';
|
||||||
|
require_once 'XMPPHP/XMLObjTest.php';
|
||||||
|
require_once 'XMPPHP/XMPPTest.php';
|
||||||
|
|
||||||
|
class AllTests
|
||||||
|
{
|
||||||
|
public static function main()
|
||||||
|
{
|
||||||
|
PHPUnit_TextUI_TestRunner::run(self::suite());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function suite()
|
||||||
|
{
|
||||||
|
$suite = new PHPUnit_Framework_TestSuite();
|
||||||
|
|
||||||
|
$suite->addTestSuite('XMPPHP_LogTest');
|
||||||
|
$suite->addTestSuite('XMPPHP_XMLObjTest');
|
||||||
|
$suite->addTestSuite('XMPPHP_XMPPTest');
|
||||||
|
|
||||||
|
return $suite;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (PHPUnit_MAIN_METHOD == 'AllTests::main') {
|
||||||
|
AllTests::main();
|
||||||
|
}
|
162
tests/XMPPHP/LogTest.php
Executable file
162
tests/XMPPHP/LogTest.php
Executable file
@ -0,0 +1,162 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
require_once dirname(dirname(dirname(__FILE__))) . '/Log.php';
|
||||||
|
|
||||||
|
class XMPPHP_LogTest extends PHPUnit_Framework_TestCase
|
||||||
|
{
|
||||||
|
public function testPrintoutNoOutput()
|
||||||
|
{
|
||||||
|
$log = new XMPPHP_Log();
|
||||||
|
|
||||||
|
$msg = 'I am a test log message';
|
||||||
|
|
||||||
|
ob_start();
|
||||||
|
$log->log('test');
|
||||||
|
$result = ob_get_clean();
|
||||||
|
|
||||||
|
$this->assertEquals('', $result);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testPrintoutOutput()
|
||||||
|
{
|
||||||
|
$log = new XMPPHP_Log(true);
|
||||||
|
|
||||||
|
$msg = 'I am a test log message';
|
||||||
|
|
||||||
|
ob_start();
|
||||||
|
$log->log($msg);
|
||||||
|
$result = ob_get_clean();
|
||||||
|
|
||||||
|
$this->assertContains($msg, $result);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testPrintoutNoOutputWithDefaultLevel()
|
||||||
|
{
|
||||||
|
$log = new XMPPHP_Log(true, XMPPHP_Log::LEVEL_ERROR);
|
||||||
|
|
||||||
|
$msg = 'I am a test log message';
|
||||||
|
|
||||||
|
ob_start();
|
||||||
|
$log->log($msg);
|
||||||
|
$result = ob_get_clean();
|
||||||
|
|
||||||
|
$this->assertSame('', $result);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testPrintoutOutputWithDefaultLevel()
|
||||||
|
{
|
||||||
|
$log = new XMPPHP_Log(true, XMPPHP_Log::LEVEL_INFO);
|
||||||
|
|
||||||
|
$msg = 'I am a test log message';
|
||||||
|
|
||||||
|
ob_start();
|
||||||
|
$log->log($msg);
|
||||||
|
$result = ob_get_clean();
|
||||||
|
|
||||||
|
$this->assertContains($msg, $result);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testPrintoutNoOutputWithCustomLevel()
|
||||||
|
{
|
||||||
|
$log = new XMPPHP_Log(true, XMPPHP_Log::LEVEL_INFO);
|
||||||
|
|
||||||
|
$msg = 'I am a test log message';
|
||||||
|
|
||||||
|
ob_start();
|
||||||
|
$log->log($msg, XMPPHP_Log::LEVEL_DEBUG);
|
||||||
|
$result = ob_get_clean();
|
||||||
|
|
||||||
|
$this->assertSame('', $result);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testPrintoutOutputWithCustomLevel()
|
||||||
|
{
|
||||||
|
$log = new XMPPHP_Log(true, XMPPHP_Log::LEVEL_INFO);
|
||||||
|
|
||||||
|
$msg = 'I am a test log message';
|
||||||
|
|
||||||
|
ob_start();
|
||||||
|
$log->log($msg, XMPPHP_Log::LEVEL_INFO);
|
||||||
|
$result = ob_get_clean();
|
||||||
|
|
||||||
|
$this->assertContains($msg, $result);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testExplicitPrintout()
|
||||||
|
{
|
||||||
|
$log = new XMPPHP_Log(false);
|
||||||
|
|
||||||
|
$msg = 'I am a test log message';
|
||||||
|
|
||||||
|
ob_start();
|
||||||
|
$log->log($msg);
|
||||||
|
$result = ob_get_clean();
|
||||||
|
|
||||||
|
$this->assertSame('', $result);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testExplicitPrintoutResult()
|
||||||
|
{
|
||||||
|
$log = new XMPPHP_Log(false);
|
||||||
|
|
||||||
|
$msg = 'I am a test log message';
|
||||||
|
|
||||||
|
ob_start();
|
||||||
|
$log->log($msg);
|
||||||
|
$result = ob_get_clean();
|
||||||
|
|
||||||
|
$this->assertSame('', $result);
|
||||||
|
|
||||||
|
ob_start();
|
||||||
|
$log->printout();
|
||||||
|
$result = ob_get_clean();
|
||||||
|
|
||||||
|
$this->assertContains($msg, $result);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testExplicitPrintoutClear()
|
||||||
|
{
|
||||||
|
$log = new XMPPHP_Log(false);
|
||||||
|
|
||||||
|
$msg = 'I am a test log message';
|
||||||
|
|
||||||
|
ob_start();
|
||||||
|
$log->log($msg);
|
||||||
|
$result = ob_get_clean();
|
||||||
|
|
||||||
|
$this->assertSame('', $result);
|
||||||
|
|
||||||
|
ob_start();
|
||||||
|
$log->printout();
|
||||||
|
$result = ob_get_clean();
|
||||||
|
|
||||||
|
$this->assertContains($msg, $result);
|
||||||
|
|
||||||
|
ob_start();
|
||||||
|
$log->printout();
|
||||||
|
$result = ob_get_clean();
|
||||||
|
|
||||||
|
$this->assertSame('', $result);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testExplicitPrintoutLevel()
|
||||||
|
{
|
||||||
|
$log = new XMPPHP_Log(false, XMPPHP_Log::LEVEL_ERROR);
|
||||||
|
|
||||||
|
$msg = 'I am a test log message';
|
||||||
|
|
||||||
|
ob_start();
|
||||||
|
$log->log($msg);
|
||||||
|
$result = ob_get_clean();
|
||||||
|
|
||||||
|
$this->assertSame('', $result);
|
||||||
|
|
||||||
|
ob_start();
|
||||||
|
$log->printout(true, XMPPHP_Log::LEVEL_INFO);
|
||||||
|
$result = ob_get_clean();
|
||||||
|
|
||||||
|
$this->assertSame('', $result);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
53
tests/XMPPHP/XMLObjTest.php
Executable file
53
tests/XMPPHP/XMLObjTest.php
Executable file
@ -0,0 +1,53 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
require_once dirname(dirname(dirname(__FILE__))) . '/XMLObj.php';
|
||||||
|
|
||||||
|
class XMPPHP_XMLObjTest extends PHPUnit_Framework_TestCase
|
||||||
|
{
|
||||||
|
public function testToStringNameNamespace()
|
||||||
|
{
|
||||||
|
$xmlobj = new XMPPHP_XMLObj('testname', 'testNameSpace');
|
||||||
|
|
||||||
|
$expected = "<testname xmlns='testNameSpace' ></testname>";
|
||||||
|
|
||||||
|
$result = $xmlobj->toString();
|
||||||
|
|
||||||
|
$this->assertSame($expected, $result);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testToStringNameNamespaceAttr()
|
||||||
|
{
|
||||||
|
$xmlobj = new XMPPHP_XMLObj('testName', 'testNameSpace', array('attr1'=>'valA', 'attr2'=>'valB'));
|
||||||
|
|
||||||
|
$expected = "<testname xmlns='testNameSpace' attr1='valA' attr2='valB' ></testname>";
|
||||||
|
|
||||||
|
$result = $xmlobj->toString();
|
||||||
|
|
||||||
|
$this->assertSame($expected, $result);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testToStringNameNamespaceData()
|
||||||
|
{
|
||||||
|
$xmlobj = new XMPPHP_XMLObj('testName', 'testNameSpace', array(), 'I am test data');
|
||||||
|
|
||||||
|
$expected = "<testname xmlns='testNameSpace' >I am test data</testname>";
|
||||||
|
|
||||||
|
$result = $xmlobj->toString();
|
||||||
|
|
||||||
|
$this->assertSame($expected, $result);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testToStringNameNamespaceSub()
|
||||||
|
{
|
||||||
|
$xmlobj = new XMPPHP_XMLObj('testName', 'testNameSpace');
|
||||||
|
$sub1 = new XMPPHP_XMLObj('subName', 'subNameSpace');
|
||||||
|
$xmlobj->subs = array($sub1);
|
||||||
|
|
||||||
|
$expected = "<testname xmlns='testNameSpace' ><subname xmlns='subNameSpace' ></subname></testname>";
|
||||||
|
|
||||||
|
$result = $xmlobj->toString();
|
||||||
|
|
||||||
|
$this->assertSame($expected, $result);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
44
tests/XMPPHP/XMPPTest.php
Executable file
44
tests/XMPPHP/XMPPTest.php
Executable file
@ -0,0 +1,44 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
require_once dirname(dirname(dirname(__FILE__))) . '/XMPP.php';
|
||||||
|
|
||||||
|
class XMPPHP_XMPPTest extends PHPUnit_Framework_TestCase
|
||||||
|
{
|
||||||
|
public function testConnectException()
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$xmpp = new XMPPHP_XMPP('talk.google.com', 1234, 'invalidusername', 'invalidpassword', 'xmpphp', 'talk.google.com', false, XMPPHP_Log::LEVEL_VERBOSE);
|
||||||
|
$xmpp->useEncryption(false);
|
||||||
|
$xmpp->connect(10);
|
||||||
|
$xmpp->processUntil('session_start');
|
||||||
|
$xmpp->presence();
|
||||||
|
$xmpp->message('stephan@jabber.wentz.it', 'This is a test message!');
|
||||||
|
$xmpp->disconnect();
|
||||||
|
} catch(XMPPHP_Exception $e) {
|
||||||
|
return;
|
||||||
|
} catch(Exception $e) {
|
||||||
|
$this->fail('Unexpected Exception thrown: '.$e->getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->fail('Expected XMPPHP_Exception not thrown!');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testAuthException()
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$xmpp = new XMPPHP_XMPP('jabber.wentz.it', 5222, 'invalidusername', 'invalidpassword', 'xmpphp', 'jabber.wentz.it', true, XMPPHP_Log::LEVEL_VERBOSE);
|
||||||
|
$xmpp->useEncryption(false);
|
||||||
|
$xmpp->connect(10);
|
||||||
|
$xmpp->processUntil('session_start');
|
||||||
|
$xmpp->presence();
|
||||||
|
$xmpp->message('stephan@jabber.wentz.it', 'This is a test message!');
|
||||||
|
$xmpp->disconnect();
|
||||||
|
} catch(XMPPHP_Exception $e) {
|
||||||
|
return;
|
||||||
|
} catch(Exception $e) {
|
||||||
|
$this->fail('Unexpected Exception thrown: '.$e->getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->fail('Expected XMPPHP_Exception not thrown!');
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user