/** * @depends testExecArgTypes * * @return void */ public function testExecArgValues() { $printRequest = new Request('/queue/simple/print', Query::where('name', TEST_QUEUE_NAME)); $this->util->setMenu('/queue/simple'); $this->util->exec('add name=$name target=0.0.0.0/0 comment=$comment', array('name' => TEST_QUEUE_NAME, 'comment' => 2)); $results = $this->client->sendSync($printRequest)->getAllOfType(Response::TYPE_DATA); $this->util->remove(TEST_QUEUE_NAME); $this->assertCount(1, $results); $this->assertSame('2', $results->getProperty('comment')); $this->util->exec('add name=$name target=0.0.0.0/0 comment=$comment', array('name' => TEST_QUEUE_NAME, 'comment' => 'test')); $results = $this->client->sendSync($printRequest)->getAllOfType(Response::TYPE_DATA); $this->util->remove(TEST_QUEUE_NAME); $this->assertCount(1, $results); $this->assertSame('test', $results->getProperty('comment')); $this->util->exec('add name=$name target=0.0.0.0/0 comment=$comment', array('name' => TEST_QUEUE_NAME, 'comment' => true)); $results = $this->client->sendSync($printRequest)->getAllOfType(Response::TYPE_DATA); $this->util->remove(TEST_QUEUE_NAME); $this->assertCount(1, $results); $this->assertSame('true', $results->getProperty('comment')); $this->util->exec('add name=$name target=0.0.0.0/0 comment=[:pick $comment 0]', array('name' => TEST_QUEUE_NAME, 'comment' => array('hello', 'world'))); $results = $this->client->sendSync($printRequest)->getAllOfType(Response::TYPE_DATA); $this->util->remove(TEST_QUEUE_NAME); $this->assertCount(1, $results); $this->assertSame('hello', $results->getProperty('comment')); $this->util->exec('add name=$name target=0.0.0.0/0 comment=$comment', array('name' => TEST_QUEUE_NAME, 'comment' => array())); $results = $this->client->sendSync($printRequest)->getAllOfType(Response::TYPE_DATA); $this->util->remove(TEST_QUEUE_NAME); $this->assertCount(1, $results); $this->assertSame(null, $results->getProperty('comment')); $this->util->exec('add name=$name target=0.0.0.0/0 comment=$comment', array('name' => TEST_QUEUE_NAME, 'comment' => null)); $results = $this->client->sendSync($printRequest)->getAllOfType(Response::TYPE_DATA); $this->util->remove(TEST_QUEUE_NAME); $this->assertCount(1, $results); $this->assertSame(null, $results->getProperty('comment')); $this->util->exec('add name=$name target=0.0.0.0/0 comment=$comment', array('name' => TEST_QUEUE_NAME, 'comment' => new DateTime('1970-01-01 00:00:00.000001', new DateTimezone('UTC')))); $results = $this->client->sendSync($printRequest)->getAllOfType(Response::TYPE_DATA); $this->util->remove(TEST_QUEUE_NAME); $this->assertCount(1, $results); $this->assertSame('00:00:00.000001', $results->getProperty('comment')); $this->util->exec('add name=$name target=0.0.0.0/0 comment=$comment', array('name' => TEST_QUEUE_NAME, 'comment' => new DateTime('1970-01-02 00:00:01', new DateTimezone('UTC')))); $results = $this->client->sendSync($printRequest)->getAllOfType(Response::TYPE_DATA); $this->util->remove(TEST_QUEUE_NAME); $this->assertCount(1, $results); $this->assertSame('1d00:00:01', $results->getProperty('comment')); $this->util->exec('add name=$name target=0.0.0.0/0 comment=$comment', array('name' => TEST_QUEUE_NAME, 'comment' => new DateTime('1970-01-10 01:02:03', new DateTimezone('UTC')))); $results = $this->client->sendSync($printRequest)->getAllOfType(Response::TYPE_DATA); $this->util->remove(TEST_QUEUE_NAME); $this->assertCount(1, $results); $this->assertSame('1w2d01:02:03', $results->getProperty('comment')); $this->util->exec('add name=$name target=0.0.0.0/0 comment=$comment', array('name' => TEST_QUEUE_NAME, 'comment' => new DateInterval('P8D'))); $results = $this->client->sendSync($printRequest)->getAllOfType(Response::TYPE_DATA); $this->util->remove(TEST_QUEUE_NAME); $this->assertCount(1, $results); $this->assertSame('1w1d00:00:00', $results->getProperty('comment')); }