/**
  * Test apiUpdateStatement with embedded imgs via data URI
  */
 public function testProblemStatementUpdateWithImagesAsDataURI()
 {
     // Get a problem (with 'es' statements)
     $problemData = ProblemsFactory::createProblem(OMEGAUP_RESOURCES_ROOT . 'triangulos.zip');
     // Update statement
     $imgUri = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==';
     $imgFilename = 'af6a4603e039cca2f6823d287f6c87e561aa6e68.png';
     $statement = "This is the new statement with an image omg ![Alt text]({$imgUri} \"Optional title\")";
     $response = ProblemController::apiUpdateStatement(new Request(array('auth_token' => $this->login($problemData['author']), 'problem_alias' => $problemData['request']['alias'], 'message' => 'Statement now contains images', 'statement' => $statement)));
     $this->assertEquals($response['status'], 'ok');
     // Check statment contents
     $targetpath = PROBLEMS_PATH . DIRECTORY_SEPARATOR . $problemData['request']['alias'] . DIRECTORY_SEPARATOR;
     $statementHtmlContents = file_get_contents($targetpath . 'statements' . DIRECTORY_SEPARATOR . 'es.html');
     $statementMarkdownContents = file_get_contents($targetpath . 'statements' . DIRECTORY_SEPARATOR . 'es.markdown');
     $this->assertFileExists(IMAGES_PATH . $imgFilename);
     $this->assertFileExists("{$targetpath}/statements/{$imgFilename}");
     $this->assertContains('<img src="' . IMAGES_URL_PATH . $imgFilename . '" alt="Alt text" title="Optional title" />', $statementHtmlContents);
     $this->assertContains('![Alt text](' . IMAGES_URL_PATH . "{$imgFilename} \"Optional title\")", $statementMarkdownContents);
 }
示例#2
0
 /**
  * Test apiUpdateStatement with embedded imgs via data URI 
  */
 public function testProblemStatementUpdateWithImagesAsDataURI()
 {
     // Get a problem (with 'es' statements)
     $problemData = ProblemsFactory::createProblem(OMEGAUP_RESOURCES_ROOT . "triangulos.zip");
     // Update statement
     $imgUri = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==";
     $imgFilename = 'af6a4603e039cca2f6823d287f6c87e561aa6e68.png';
     $statement = "This is the new statement with an image omg ![Alt text]({$imgUri} \"Optional title\")";
     $response = ProblemController::apiUpdateStatement(new Request(array("auth_token" => $this->login($problemData["author"]), "problem_alias" => $problemData["request"]["alias"], "message" => 'Statement now contains images', "statement" => $statement)));
     $this->assertEquals($response["status"], "ok");
     // Check statment contents
     $targetpath = PROBLEMS_PATH . DIRECTORY_SEPARATOR . $problemData["request"]["alias"] . DIRECTORY_SEPARATOR;
     $statementHtmlContents = file_get_contents($targetpath . "statements" . DIRECTORY_SEPARATOR . "es.html");
     $statementMarkdownContents = file_get_contents($targetpath . "statements" . DIRECTORY_SEPARATOR . "es.markdown");
     $this->assertFileExists(IMAGES_PATH . $imgFilename);
     $this->assertFileExists("{$targetpath}/statements/{$imgFilename}");
     $this->assertContains("<img src=\"" . IMAGES_URL_PATH . $imgFilename . "\" alt=\"Alt text\" title=\"Optional title\" />", $statementHtmlContents);
     $this->assertContains("![Alt text](" . IMAGES_URL_PATH . "{$imgFilename} \"Optional title\")", $statementMarkdownContents);
 }