From 1118926f9e87bfe9ec4f78cb560877fc8081cf28 Mon Sep 17 00:00:00 2001 From: uckelman Date: Tue, 13 Apr 2010 20:26:06 +0000 Subject: Added full registerMessage(). git-svn-id: https://vassalengine.svn.sourceforge.net/svnroot/vassalengine/site-src/trunk@6700 67b53d14-2c14-4ace-a08f-0dab2b34000c --- src/Bridge.php | 16 ++++++++++++++++ test/BridgeTest.php | 41 ++++++++++++++++++++++++++++++++++++++--- 2 files changed, 54 insertions(+), 3 deletions(-) diff --git a/src/Bridge.php b/src/Bridge.php index 54f9880..9d59564 100644 --- a/src/Bridge.php +++ b/src/Bridge.php @@ -84,6 +84,22 @@ class Bridge { return $count == 1; } + public function registerMessage($postId, $messageId, + $inReplyTo, $references) { + throw_if_null($postId); + throw_if_null($messageId); + + $sql = 'INSERT IGNORE INTO posts ' . + '(post_id, message_id, in_reply_to, refs) ' . + 'VALUES (' . $postId . ', ' + . $this->db->quote($messageId) . ', ' + . $this->quote($inReplyTo) . ', ' + . $this->quote($references) . ')'; + + $count = $this->db->exec($sql); + return $count == 1; + } + public function unregisterMessage($messageId) { throw_if_null($messageId); diff --git a/test/BridgeTest.php b/test/BridgeTest.php index c0c7da1..28ef8d5 100644 --- a/test/BridgeTest.php +++ b/test/BridgeTest.php @@ -96,9 +96,9 @@ class BridgeTest extends PHPUnit_Framework_TestCase { } /** - * @dataProvider providerRegisterMessage + * @dataProvider providerRegisterMessage3 */ - public function testRegisterMessage($messageId, $inReplyTo, $refs, + public function testRegisterMessage3($messageId, $inReplyTo, $refs, $expected, $ex) { if ($ex) $this->setExpectedException($ex); $bridge = new Bridge($this->db); @@ -108,7 +108,7 @@ class BridgeTest extends PHPUnit_Framework_TestCase { ); } - public function providerRegisterMessage() { + public function providerRegisterMessage3() { return array( array(null, null, null, null, 'Exception'), array( @@ -128,6 +128,41 @@ class BridgeTest extends PHPUnit_Framework_TestCase { ); } + /** + * @dataProvider providerRegisterMessage4 + */ + public function testRegisterMessage4($postId, $messageId, $inReplyTo, $refs, + $expected, $ex) { + if ($ex) $this->setExpectedException($ex); + $bridge = new Bridge($this->db); + $this->assertEquals( + $expected, + $bridge->registerMessage($postId, $messageId, $inReplyTo, $refs) + ); + } + + public function providerRegisterMessage4() { + return array( + array(null, null, null, null, 'Exception'), + array( + 2, + '<20100302094228.33F0310091@charybdis.ellipsis.cx>', + null, + null, + false, + null + ), + array( + 2, + '<10100302094228.33F0310091@charybdis.ellipsis.cx>', + null, + null, + true, + null + ) + ); + } + /** * @dataProvider providerUnregisterMessage */ -- cgit v1.2.3