コード例 #1
0
ファイル: BirthdateTest.php プロジェクト: NicolasSchmutz/cm
 /**
  * @expectedException CM_Exception_FormFieldValidation
  */
 public function testValidate()
 {
     $formField = new CM_FormField_Birthdate(['name' => 'foo', 'minAge' => 18, 'maxAge' => 30]);
     $request = CM_Http_Request_Abstract::factory('get', '/foo');
     $response = CM_Http_Response_Abstract::factory($request, $this->getServiceManager());
     $environment = new CM_Frontend_Environment();
     $value = $formField->validate($environment, array('year' => 1995, 'month' => 1, 'day' => 1));
     $this->assertEquals(new DateTime('1995-01-01'), $value);
     $formField->validate($environment, array('year' => 2005, 'month' => 1, 'day' => 1));
 }
コード例 #2
0
ファイル: Handler.php プロジェクト: NicolasSchmutz/cm
 /**
  * @param CM_Http_Request_Abstract $request
  * @throws CM_Exception
  * @return CM_Http_Response_Abstract
  */
 public function processRequest(CM_Http_Request_Abstract $request)
 {
     try {
         $response = CM_Http_Response_Abstract::factory($request, $this->getServiceManager());
     } catch (CM_Exception $e) {
         $e->setSeverity(CM_Exception::WARN);
         throw $e;
     }
     $response->process();
     return $response;
 }
コード例 #3
0
ファイル: AbstractTest.php プロジェクト: NicolasSchmutz/cm
 public function testGetLanguageByUrl()
 {
     $request = $this->_prepareRequest('/de/home');
     CM_Http_Response_Abstract::factory($request, $this->getServiceManager());
     $this->assertNull($request->getLanguage());
     CMTest_TH::createLanguage('en');
     // default language
     $urlLanguage = CMTest_TH::createLanguage('de');
     $request = $this->_prepareRequest('/de/home');
     $response = CM_Http_Response_Abstract::factory($request, $this->getServiceManager());
     $this->assertEquals($response->getRequest()->getLanguage(), $urlLanguage);
 }
コード例 #4
0
ファイル: ResponseFactory.php プロジェクト: cargomedia/cm
 /**
  * @param CM_Service_Manager $serviceManager
  * @param string[]|null      $responseClassList
  */
 public function __construct(CM_Service_Manager $serviceManager, array $responseClassList = null)
 {
     $this->setServiceManager($serviceManager);
     if (null === $responseClassList) {
         $responseClassList = array_reverse(CM_Http_Response_Abstract::getClassChildren());
     }
     /** @var $responseClass CM_Http_Response_Abstract */
     foreach ($responseClassList as $index => $responseClass) {
         if ($responseClass::catchAll()) {
             unset($responseClassList[$index]);
             $responseClassList[] = $responseClass;
         }
     }
     $this->_responseClassList = $responseClassList;
 }
コード例 #5
0
ファイル: AbstractTest.php プロジェクト: aladin1394/CM
 public function testSetDeleteCookie()
 {
     $request = new CM_Http_Request_Post('/foo/null');
     $response = CM_Http_Response_Abstract::factory($request, $this->getServiceManager());
     $time = time();
     $timeString = date('D\\, d\\-M\\-Y h:i:s e', $time);
     $response->setCookie('foo', 'bar', $time);
     $response->setCookie('bar', 'bad!=();');
     $headers = $response->getHeaders();
     $this->assertSame('Set-Cookie: foo=bar; Expires=' . $timeString . '; Path=/', $headers[0]);
     $this->assertSame('Set-Cookie: bar=bad%21%3D%28%29%3B; Path=/', $headers[1]);
     $response->deleteCookie('foo');
     $headers = $response->getHeaders();
     $this->assertSame('Set-Cookie: foo=; Expires=Thu, 01-Jan-1970 12:00:01 UTC; Path=/', $headers[0]);
 }
コード例 #6
0
ファイル: TestCase.php プロジェクト: NicolasSchmutz/cm
 /**
  * @param CM_Http_Request_Abstract $request
  * @return CM_Http_Response_Abstract|\Mocka\AbstractClassTrait
  */
 public function getResponse(CM_Http_Request_Abstract $request)
 {
     $className = CM_Http_Response_Abstract::getResponseClassName($request);
     $serviceManager = self::getServiceManager();
     return $this->mockClass($className)->newInstance([$request, $serviceManager]);
 }
コード例 #7
0
ファイル: Upload.php プロジェクト: aladin1394/CM
 public function __construct(CM_Http_Request_Post $request, CM_Service_Manager $serviceManager)
 {
     parent::__construct($request, $serviceManager);
     $this->_request->setBodyEncoding(CM_Http_Request_Post::ENCODING_NONE);
 }
コード例 #8
0
ファイル: Abstract.php プロジェクト: NicolasSchmutz/cm
 protected function _setContent($content)
 {
     $this->setHeader('Access-Control-Allow-Origin', $this->getSite()->getUrl());
     parent::_setContent($content);
 }
コード例 #9
0
ファイル: Abstract.php プロジェクト: cargomedia/cm
 protected function _setContent($content)
 {
     $this->setHeader('Access-Control-Allow-Origin', $this->getSite()->getUrlBase());
     $this->setHeaderExpires(86400 * 365);
     parent::_setContent($content);
 }