scratch

Subversion Repositories:
Compare Path: Rev
With Path: Rev
?path1? @ 86  →  ?path2? @ 87
/vendor/guzzlehttp/guzzle/tests/Adapter/TransactionIteratorTest.php
@@ -0,0 +1,73 @@
<?php
 
namespace GuzzleHttp\Tests\Http;
 
use GuzzleHttp\Adapter\TransactionIterator;
use GuzzleHttp\Client;
 
class TransactionIteratorTest extends \PHPUnit_Framework_TestCase
{
/**
* @expectedException \InvalidArgumentException
*/
public function testValidatesConstructor()
{
new TransactionIterator('foo', new Client(), []);
}
 
public function testCreatesTransactions()
{
$client = new Client();
$requests = [
$client->createRequest('GET', 'http://test.com'),
$client->createRequest('POST', 'http://test.com'),
$client->createRequest('PUT', 'http://test.com'),
];
$t = new TransactionIterator($requests, $client, []);
$this->assertEquals(0, $t->key());
$this->assertTrue($t->valid());
$this->assertEquals('GET', $t->current()->getRequest()->getMethod());
$t->next();
$this->assertEquals(1, $t->key());
$this->assertTrue($t->valid());
$this->assertEquals('POST', $t->current()->getRequest()->getMethod());
$t->next();
$this->assertEquals(2, $t->key());
$this->assertTrue($t->valid());
$this->assertEquals('PUT', $t->current()->getRequest()->getMethod());
}
 
public function testCanForeach()
{
$c = new Client();
$requests = [
$c->createRequest('GET', 'http://test.com'),
$c->createRequest('POST', 'http://test.com'),
$c->createRequest('PUT', 'http://test.com'),
];
 
$t = new TransactionIterator(new \ArrayIterator($requests), $c, []);
$methods = [];
 
foreach ($t as $trans) {
$this->assertInstanceOf(
'GuzzleHttp\Adapter\TransactionInterface',
$trans
);
$methods[] = $trans->getRequest()->getMethod();
}
 
$this->assertEquals(['GET', 'POST', 'PUT'], $methods);
}
 
/**
* @expectedException \RuntimeException
*/
public function testValidatesEachElement()
{
$c = new Client();
$requests = ['foo'];
$t = new TransactionIterator(new \ArrayIterator($requests), $c, []);
iterator_to_array($t);
}
}