X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fpq-gateway;a=blobdiff_plain;f=tests%2Flib%2Fpq%2FGateway%2FRowsetTest.php;h=61f6b11af4668fa1b30c8e8566b47eba8de6cfa9;hp=7ef1a0eb21721a374ba36b41c59108197b08b387;hb=80c4d645e1650304b1dbcae85dbf17a6593896e4;hpb=e2709f3f6de6d5c5ba272d353db16b015b5258b3 diff --git a/tests/lib/pq/Gateway/RowsetTest.php b/tests/lib/pq/Gateway/RowsetTest.php index 7ef1a0e..61f6b11 100644 --- a/tests/lib/pq/Gateway/RowsetTest.php +++ b/tests/lib/pq/Gateway/RowsetTest.php @@ -17,16 +17,15 @@ class RowsetTest extends \PHPUnit_Framework_TestCase { protected $table; protected function setUp() { - $this->conn = new \pq\Connection(PQ_DSN); - $this->conn->exec(PQ_TEST_DROP_TABLE); - $this->conn->exec(PQ_TEST_CREATE_TABLE); - $this->conn->exec(PQ_TEST_CREATE_DATA); - - $this->table = new Table(PQ_TEST_TABLE_NAME, $this->conn); + $this->conn = new \pq\Connection(PQ_TEST_DSN); + $this->conn->exec(PQ_TEST_SETUP_SQL); + Table::$defaultConnection = $this->conn; + $this->table = new Table("test"); + $this->table->getQueryExecutor()->attach(new \QueryLogger()); } protected function tearDown() { - $this->conn->exec(PQ_TEST_DROP_TABLE); + $this->conn->exec(PQ_TEST_TEARDOWN_SQL); } public function test__invoke() { @@ -72,7 +71,7 @@ class RowsetTest extends \PHPUnit_Framework_TestCase { } public function testCreateFail() { - $this->setExpectedException("\\pq\\Exception"); + $this->setExpectedException("\\OutOfBoundsException"); $rowset = new Rowset($this->table); $rowset->append(new Row($this->table, array("foo" => "bar"), true)); $rowset->create(); @@ -106,18 +105,22 @@ class RowsetTest extends \PHPUnit_Framework_TestCase { } public function testDeleteFail() { - $this->setExpectedException("pq\\Exception"); + $this->setExpectedException("Exception"); $rowset = new Rowset($this->table); $rowset->append(new Row($this->table, array("xx" => 0)))->delete(); } public function testJsonSerialize() { - $json = sprintf('[{"id":"1","created":"%s","counter":"-1","number":"-1.1","data":"yesterday"}' - .',{"id":"2","created":"%s","counter":"0","number":"0","data":"today"}' - .',{"id":"3","created":"%s","counter":"1","number":"1.1","data":"tomorrow"}]', - date("Y-m-d H:i:s", strtotime("yesterday")), - date("Y-m-d H:i:s", strtotime("today")), - date("Y-m-d H:i:s", strtotime("tomorrow")) + $yday = new \pq\DateTime("yesterday"); + $tday = new \pq\DateTime("today"); + $tmrw = new \pq\DateTime("tomorrow"); + + $yday->format = $tday->format = $tmrw->format = "Y-m-d H:i:s.u"; + + $json = sprintf('[{"id":1,"created":"%s","counter":-1,"number":-1.1,"data":"yesterday","list":[-1,0,1],"prop":null}' + .',{"id":2,"created":"%s","counter":0,"number":0,"data":"today","list":[0,1,2],"prop":null}' + .',{"id":3,"created":"%s","counter":1,"number":1.1,"data":"tomorrow","list":[1,2,3],"prop":null}]', + $yday, $tday, $tmrw ); $this->assertJsonStringEqualsJsonString($json, json_encode($this->table->find())); } @@ -156,4 +159,14 @@ class RowsetTest extends \PHPUnit_Framework_TestCase { $this->assertSame(array(), $rowset3->getRows()); $this->assertCount(1, $rowset->filter(function($row) { return $row->id->get() == 1; })); } + + public function testApplyAppend() { + $rowset1 = $this->table->find(null, null, 1); + $rowset2 = $this->table->find(null, null, 1, 1); + $this->assertCount(1, $rowset1); + $this->assertCount(1, $rowset2); + $rowset2->apply(array($rowset1, "append")); + $this->assertCount(1, $rowset2); + $this->assertCount(2, $rowset1); + } }