/** * @covers \KJSencha\Controller\DirectController::buildFormUploadResponse * @covers \KJSencha\Controller\DirectController::isUpload * @covers \KJSencha\Controller\DirectController::isForm * @covers \KJSencha\Controller\DirectController::getRPC * @covers \KJSencha\Controller\DirectController::dispatchRPCS */ function testValidUploadResponse() { $this->request->setPost(new Parameters(array('extAction' => 'KJSenchaTestAsset.Direct.form.Upload', 'extMethod' => 'emptyUpload', 'extUpload' => 'true', 'extTID' => 0, 'extModule' => null))); $result = $this->controller->dispatch($this->request); $this->assertTrue($this->controller->isUpload()); $this->assertTrue($this->controller->isForm()); $this->assertInstanceOf('Zend\\Http\\PhpEnvironment\\Response', $result); $expectedResult = array('type' => 'rpc', 'tid' => 0, 'action' => 'KJSenchaTestAsset.Direct.form.Upload', 'method' => 'emptyUpload', 'result' => array()); /** * This matcher checks the following pattern * <html><body><textarea>(content)</textarea></body></html> */ $matcher = array('tag' => 'html', 'descendant' => array('tag' => 'body', 'children' => array('count' => 1), 'descendant' => array('tag' => 'textarea', 'content' => json_encode($expectedResult)))); $this->assertTag($matcher, $result->getContent()); }