public function testPrepareParamsPost() { $dummy = new Dummy(); $result = $dummy->prepareParams('url', array('body' => array('foo' => 'bar', 'baz' => 'biz')), 'post'); $this->assertEquals('foo=bar&baz=biz', $result[CURLOPT_POSTFIELDS]); $params = array('foo' => 'bar', 'baz' => 'biz'); $result = $dummy->prepareParams('url', array('json' => $params), 'post'); $this->assertEquals(json_encode($params), $result[CURLOPT_POSTFIELDS]); //make sure we don't json encode a json encoded string $result = $dummy->prepareParams('url', array('body' => json_encode($params)), 'post'); $this->assertEquals(json_encode($params), $result[CURLOPT_POSTFIELDS]); $params = '<xml><param>1</param></xml>'; $result = $dummy->prepareParams('url', array('body' => $params), 'post'); $this->assertEquals($params, $result[CURLOPT_POSTFIELDS]); }