Вход Регистрация
Файл: vkolhoze.com/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/JsonVisitorTest.php
Строк: 76
<?php

namespace GuzzleTestsServiceCommandLocationVisitorRequest;

use 
GuzzleServiceCommandLocationVisitorRequestJsonVisitor as Visitor;

/**
 * @covers GuzzleServiceCommandLocationVisitorRequestJsonVisitor
 * @covers GuzzleServiceCommandLocationVisitorRequestAbstractRequestVisitor::resolveRecursively
 */
class JsonVisitorTest extends AbstractVisitorTestCase
{
    public function 
testVisitsLocation()
    {
        
$visitor = new Visitor();
        
// Test after when no body query values were found
        
$visitor->after($this->command$this->request);

        
$param $this->getNestedCommand('json')->getParam('foo');
        
$visitor->visit($this->command$this->request$param->setSentAs('test'), '123');
        
$visitor->visit($this->command$this->request$param->setSentAs('test2'), 'abc');
        
$visitor->after($this->command$this->request);
        
$this->assertEquals('{"test":"123","test2":"abc"}', (string) $this->request->getBody());
    }

    public function 
testAddsJsonHeader()
    {
        
$visitor = new Visitor();
        
$visitor->setContentTypeHeader('application/json-foo');
        
$param $this->getNestedCommand('json')->getParam('foo');
        
$visitor->visit($this->command$this->request$param->setSentAs('test'), '123');
        
$visitor->after($this->command$this->request);
        
$this->assertEquals('application/json-foo', (string) $this->request->getHeader('Content-Type'));
    }

    public function 
testRecursivelyBuildsJsonBodies()
    {
        
$command $this->getCommand('json');
        
$request $command->prepare();
        
$this->assertEquals('{"Foo":{"test":{"baz":true,"Jenga_Yall!":"HELLO"},"bar":123}}', (string) $request->getBody());
    }

    public function 
testAppliesFiltersToAdditionalProperties()
    {
        
$command $this->getCommand('json');
        
$command->set('foo', array('not_set' => 'abc'));
        
$request $command->prepare();
        
$result json_decode($request->getBody(), true);
        
$this->assertEquals('ABC'$result['Foo']['not_set']);
    }

    public function 
testAppliesFiltersToArrayItemValues()
    {
        
$command $this->getCommand('json');
        
$command->set('arr', array('a''b'));
        
$request $command->prepare();
        
$result json_decode($request->getBody(), true);
        
$this->assertEquals(array('A''B'), $result['arr']);
    }
}
Онлайн: 1
Реклама