Open Monograph Press  3.3.0
PostFileTest.php
1 <?php
2 
4 
7 
13 {
15  {
16  $file = new PostFile('foo', __FILE__, 'x-foo', 'boo');
17  $this->assertEquals('foo', $file->getFieldName());
18  $this->assertEquals(__FILE__, $file->getFilename());
19  $this->assertEquals('boo', $file->getPostName());
20  $this->assertEquals('x-foo', $file->getContentType());
21  }
22 
24  {
25  $file = new PostFile('foo', '@' . __FILE__);
26  $this->assertEquals(__FILE__, $file->getFilename());
27  }
28 
32  public function testEnsuresFileIsReadable()
33  {
34  $file = new PostFile('foo', '/foo/baz/bar');
35  }
36 
37  public function testCanChangeContentType()
38  {
39  $file = new PostFile('foo', '@' . __FILE__);
40  $file->setContentType('Boo');
41  $this->assertEquals('Boo', $file->getContentType());
42  }
43 
44  public function testCanChangeFieldName()
45  {
46  $file = new PostFile('foo', '@' . __FILE__);
47  $file->setFieldName('Boo');
48  $this->assertEquals('Boo', $file->getFieldName());
49  }
50 
51  public function testReturnsCurlValueString()
52  {
53  $file = new PostFile('foo', __FILE__);
54  if (version_compare(phpversion(), '5.5.0', '<')) {
55  $this->assertContains('@' . __FILE__ . ';filename=PostFileTest.php;type=text/x-', $file->getCurlValue());
56  } else {
57  $c = $file->getCurlValue();
58  $this->assertEquals(__FILE__, $c->getFilename());
59  $this->assertEquals('PostFileTest.php', $c->getPostFilename());
60  $this->assertContains('text/x-', $c->getMimeType());
61  }
62  }
63 
65  {
66  $file = new PostFile('foo', __FILE__, null, 'NewPostFileTest.php');
67  if (version_compare(phpversion(), '5.5.0', '<')) {
68  $this->assertContains('@' . __FILE__ . ';filename=NewPostFileTest.php;type=text/x-', $file->getCurlValue());
69  } else {
70  $c = $file->getCurlValue();
71  $this->assertEquals(__FILE__, $c->getFilename());
72  $this->assertEquals('NewPostFileTest.php', $c->getPostFilename());
73  $this->assertContains('text/x-', $c->getMimeType());
74  }
75  }
76 
78  {
79  $this->getServer()->flush();
80  $client = new Client($this->getServer()->getUrl());
81  $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n");
82  $request = $client->post()->addPostFile('file', __FILE__);
83  $request->send();
84  $requests = $this->getServer()->getReceivedRequests(false);
85  $this->assertContains('POST / HTTP/1.1', $requests[0]);
86  $this->assertContains('Content-Disposition: form-data; name="file"; filename="PostFileTest.php"', $requests[0]);
87  }
88 }
Guzzle\Tests\GuzzleTestCase
Definition: GuzzleTestCase.php:22
Guzzle\Tests\Http\Message\PostFileTest\testEnsuresFileIsReadable
testEnsuresFileIsReadable()
Definition: PostFileTest.php:32
Guzzle\Tests\Http\Message\PostFileTest\testConstructorConfiguresPostFile
testConstructorConfiguresPostFile()
Definition: PostFileTest.php:14
Guzzle\Tests\Http\Message\PostFileTest
Definition: PostFileTest.php:12
Guzzle\Tests\Http\Message\PostFileTest\testReturnsCurlValueStringAndPostname
testReturnsCurlValueStringAndPostname()
Definition: PostFileTest.php:64
Guzzle\Http\Message\PostFile
Definition: PostFile.php:12
Guzzle\Tests\Http\Message\PostFileTest\testReturnsCurlValueString
testReturnsCurlValueString()
Definition: PostFileTest.php:51
Guzzle\Tests\Http\Message\PostFileTest\testCanChangeFieldName
testCanChangeFieldName()
Definition: PostFileTest.php:44
Guzzle\Http\Client
Definition: paymethod/paypal/lib/vendor/guzzle/guzzle/src/Guzzle/Http/Client.php:24
Guzzle\Tests\Http\Message\PostFileTest\testContentDispositionFilePathIsStripped
testContentDispositionFilePathIsStripped()
Definition: PostFileTest.php:77
Guzzle\Tests\Http\Message\PostFileTest\testCanChangeContentType
testCanChangeContentType()
Definition: PostFileTest.php:37
Guzzle\Tests\Http\Message\PostFileTest\testRemovesLeadingAtSymbolFromPath
testRemovesLeadingAtSymbolFromPath()
Definition: PostFileTest.php:23
Guzzle\Tests\GuzzleTestCase\getServer
static getServer()
Definition: GuzzleTestCase.php:36
Guzzle\Tests\Http\Message
Definition: AbstractMessageTest.php:3