public function testTraversesObjectsAndAppliesFilters()
 {
     $visitor = new Visitor();
     $param = new Parameter(array('name' => 'foo', 'type' => 'object', 'properties' => array('foo' => array('filters' => 'strtoupper'), 'bar' => array('filters' => 'strtolower'))));
     $this->value = array('foo' => array('foo' => 'hello', 'bar' => 'THERE'));
     $visitor->visit($this->command, $this->response, $param, $this->value);
     $this->assertEquals(array('foo' => 'HELLO', 'bar' => 'there'), $this->value['foo']);
 }
Example #2
0
 public function testWalksAdditionalProperties()
 {
     $visitor = new Visitor();
     $param = new Parameter(array('name' => 'foo', 'type' => 'object', 'additionalProperties' => array('type' => 'object', 'properties' => array('bar' => array('type' => 'string', 'filters' => array('base64_decode'))))));
     $this->value = array('foo' => array('baz' => array('bar' => 'Zm9v')));
     $visitor->visit($this->command, $this->response, $param, $this->value);
     $this->assertEquals('foo', $this->value['foo']['baz']['bar']);
 }
 /**
  * @group issue-399
  * @link  https://github.com/guzzle/guzzle/issues/399
  */
 public function testDiscardingUnknownPropertiesWithAliasing()
 {
     $visitor = new Visitor();
     $param = new Parameter(array('name' => 'foo', 'type' => 'object', 'additionalProperties' => false, 'properties' => array('bar' => array('name' => 'bar', 'sentAs' => 'baz'))));
     $this->value = array('foo' => array('baz' => 15, 'unknown' => 'Unknown'));
     $visitor->visit($this->command, $this->response, $param, $this->value);
     $this->assertEquals(array('foo' => array('bar' => 15)), $this->value);
 }