ClientTest.php 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?php
  2. /**
  3. * Zend Framework
  4. *
  5. * LICENSE
  6. *
  7. * This source file is subject to the new BSD license that is bundled
  8. * with this package in the file LICENSE.txt.
  9. * It is also available through the world-wide-web at this URL:
  10. * http://framework.zend.com/license/new-bsd
  11. * If you did not receive a copy of the license and are unable to
  12. * obtain it through the world-wide-web, please send an email
  13. * to license@zend.com so we can send you a copy immediately.
  14. *
  15. * @category Zend
  16. * @package Zend_Http
  17. * @subpackage UnitTests
  18. * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
  19. * @license http://framework.zend.com/license/new-bsd New BSD License
  20. * @version $Id$
  21. */
  22. require_once 'Zend/Http/Client.php';
  23. /**
  24. * @category Zend
  25. * @package Zend_Http_Client
  26. * @subpackage UnitTests
  27. * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
  28. * @license http://framework.zend.com/license/new-bsd New BSD License
  29. * @group Zend_Http
  30. * @group Zend_Http_Client
  31. */
  32. class Zend_Http_Client_ClientTest extends PHPUnit_Framework_TestCase
  33. {
  34. /**
  35. * Set up the test case
  36. *
  37. */
  38. protected function setUp()
  39. {
  40. $this->client = new Zend_Http_Client();
  41. }
  42. public function invalidHeaders()
  43. {
  44. return array(
  45. 'invalid-name-cr' => array("X-Foo-\rBar", 'value'),
  46. 'invalid-name-lf' => array("X-Foo-\nBar", 'value'),
  47. 'invalid-name-crlf' => array("X-Foo-\r\nBar", 'value'),
  48. 'invalid-value-cr' => array('X-Foo-Bar', "value\risEvil"),
  49. 'invalid-value-lf' => array('X-Foo-Bar', "value\nisEvil"),
  50. 'invalid-value-bad-continuation' => array('X-Foo-Bar', "value\r\nisEvil"),
  51. 'invalid-array-value-cr' => array('X-Foo-Bar', array("value\risEvil")),
  52. 'invalid-array-value-lf' => array('X-Foo-Bar', array("value\nisEvil")),
  53. 'invalid-array-value-bad-continuation' => array('X-Foo-Bar', array("value\r\nisEvil")),
  54. );
  55. }
  56. /**
  57. * @dataProvider invalidHeaders
  58. * @group ZF2015-04
  59. */
  60. public function testHeadersContainingCRLFInjectionRaiseAnException($name, $value)
  61. {
  62. $this->setExpectedException('Zend_Http_Exception');
  63. $this->client->setHeaders(array(
  64. $name => $value,
  65. ));
  66. }
  67. }