/** * Test fetch GET params without multibyte */ public function testGetWithoutMultibyte() { $env = Slim_Environment::getInstance(); $env['slim.tests.ignore_multibyte'] = true; $req = new Slim_Http_Request($env); $this->assertEquals(3, count($req->get())); $this->assertEquals('1', $req->get('one')); $this->assertNull($req->get('foo')); }
/** * Test fetch GET params without multibyte */ public function testGetWithoutMultibyte() { $env = Slim_Environment::mock(array('QUERY_STRING' => 'one=1&two=2&three=3', 'slim.tests.ignore_multibyte' => true)); $req = new Slim_Http_Request($env); $this->assertEquals(3, count($req->get())); $this->assertEquals('1', $req->get('one')); $this->assertNull($req->get('foo')); }
public function testParams() { //Case A: PUT params $_SERVER['REQUEST_METHOD'] = 'POST'; $_POST = array('_METHOD' => 'PUT', 'foo1' => 'bar1'); $r = new Slim_Http_Request(); $this->assertEquals('bar1', $r->params('foo1')); $this->assertEquals('bar1', $r->put('foo1')); $this->assertEquals(array('foo1' => 'bar1'), $r->put()); //Case B: POST params $_SERVER['REQUEST_METHOD'] = 'POST'; $_POST = array('foo1' => 'bar1'); $r = new Slim_Http_Request(); $this->assertEquals('bar1', $r->params('foo1')); $this->assertEquals('bar1', $r->post('foo1')); $this->assertEquals($_POST, $r->post()); //Case C: GET params $_SERVER['REQUEST_METHOD'] = 'GET'; $_POST = array(); $_GET = array('foo1' => 'bar1'); $r = new Slim_Http_Request(); $this->assertEquals('bar1', $r->params('foo1')); $this->assertEquals('bar1', $r->get('foo1')); $this->assertEquals($_GET, $r->get()); //Case D: COOKIE params $_COOKIE['foo'] = 'bar'; $r = new Slim_Http_Request(); $this->assertEquals($_COOKIE, $r->cookies()); $this->assertEquals('bar', $r->cookies('foo')); //Case E: NULL params $_SERVER['REQUEST_METHOD'] = 'POST'; $_GET = array(); $_POST = array(); $r = new Slim_Http_Request(); $this->assertNull($r->params('foo1')); $this->assertNull($r->put('foo1')); $this->assertNull($r->post('foo1')); $this->assertNull($r->get('foo1')); $this->assertNull($r->cookies('foo1')); }