public function itExportsToXMLWithCrossReferencesEscaped() { $body = 'See art #290'; $escaped_body = 'See art # 290'; $comment = new Tracker_Artifact_Changeset_Comment(1, $this->changeset, 0, 0, 101, $this->timestamp, $body, 'html', 0); $xml = '<?xml version="1.0" encoding="UTF-8"?> <comments/>'; $changeset_node = new SimpleXMLElement($xml); $comment->exportToXML($changeset_node); $this->assertNotNull($changeset_node->comment); $this->assertNotNull($changeset_node->comment->submitted_by); $this->assertNotNull($changeset_node->comment->submitted_on); $this->assertNotNull($changeset_node->comment->body); $this->assertEqual((string) $changeset_node->comment->submitted_by, 'ldap_01'); $this->assertEqual($changeset_node->comment->submitted_by['format'], 'ldap'); $this->assertEqual((string) $changeset_node->comment->submitted_on, '2015-06-09T17:18:27+02:00'); $this->assertEqual($changeset_node->comment->submitted_on['format'], 'ISO8601'); $this->assertEqual((string) $changeset_node->comment->body, $escaped_body); $this->assertEqual($changeset_node->comment->body['format'], 'html'); }
public function itExportsToXML() { $user = aUser()->withId(101)->withLdapId('ldap_01')->withUserName('user_01')->build(); $changeset = aChangeset()->build(); $timestamp = '1433863107'; $body = '<b> My comment 01</b>'; $comment = new Tracker_Artifact_Changeset_Comment(1, $changeset, 0, 0, 101, $timestamp, $body, 'html', 0); $xml = '<?xml version="1.0" encoding="UTF-8"?> <comments/>'; $changeset_node = new SimpleXMLElement($xml); stub($this->user_manager)->getUserById(101)->returns($user); $comment->exportToXML($changeset_node); $this->assertNotNull($changeset_node->comment); $this->assertNotNull($changeset_node->comment->submitted_by); $this->assertNotNull($changeset_node->comment->submitted_on); $this->assertNotNull($changeset_node->comment->body); $this->assertEqual((string) $changeset_node->comment->submitted_by, 'ldap_01'); $this->assertEqual($changeset_node->comment->submitted_by['format'], 'ldap'); $this->assertEqual((string) $changeset_node->comment->submitted_on, '2015-06-09T17:18:27+02:00'); $this->assertEqual($changeset_node->comment->submitted_on['format'], 'ISO8601'); $this->assertEqual((string) $changeset_node->comment->body, $body); $this->assertEqual($changeset_node->comment->body['format'], 'html'); }
/** * Returns HTML code to display the artifact history * * @param Codendi_Request $request The data from the user * * @return String The valid followup comment format */ public function validateCommentFormat($request, $comment_format_field_name) { $comment_format = $request->get($comment_format_field_name); return Tracker_Artifact_Changeset_Comment::checkCommentFormat($comment_format); }
public function __construct(Tracker_Artifact_Changeset $changeset) { parent::__construct(0, $changeset, 0, 0, $changeset->getSubmittedBy(), $changeset->getSubmittedOn(), '', Tracker_Artifact_Changeset_Comment::TEXT_COMMENT, -1); }
private function storeComment(Tracker_Artifact $artifact, $comment, PFUser $submitter, $submitted_on, $comment_format, $changeset_id) { $comment_format = Tracker_Artifact_Changeset_Comment::checkCommentFormat($comment_format); $comment_added = $this->changeset_comment_dao->createNewVersion($changeset_id, $comment, $submitter->getId(), $submitted_on, 0, $comment_format); if (!$comment_added) { return false; } $this->reference_manager->extractCrossRef($comment, $artifact->getId(), Tracker_Artifact::REFERENCE_NATURE, $artifact->getTracker()->getGroupID(), $submitter->getId(), $artifact->getTracker()->getItemName()); return true; }