public function testEmailBodyCommandParsing() { $bodies = $this->getEmailBodiesWithFullCommands(); foreach ($bodies as $body) { $parser = new PhabricatorMetaMTAEmailBodyParser(); $body_data = $parser->parseBody($body); $this->assertEqual('OKAY', $body_data['body']); $this->assertEqual('whatevs', $body_data['command']); $this->assertEqual('dude', $body_data['command_value']); } $bodies = $this->getEmailBodiesWithPartialCommands(); foreach ($bodies as $body) { $parser = new PhabricatorMetaMTAEmailBodyParser(); $body_data = $parser->parseBody($body); $this->assertEqual('OKAY', $body_data['body']); $this->assertEqual('whatevs', $body_data['command']); $this->assertEqual(null, $body_data['command_value']); } }
public function testEmailBodyCommandParsing() { $bodies = $this->getEmailBodiesWithFullCommands(); foreach ($bodies as $body) { $parser = new PhabricatorMetaMTAEmailBodyParser(); $body_data = $parser->parseBody($body); $this->assertEqual('OKAY', $body_data['body']); $this->assertEqual(array(array('whatevs', 'dude')), $body_data['commands']); } $bodies = $this->getEmailBodiesWithPartialCommands(); foreach ($bodies as $body) { $parser = new PhabricatorMetaMTAEmailBodyParser(); $body_data = $parser->parseBody($body); $this->assertEqual('OKAY', $body_data['body']); $this->assertEqual(array(array('whatevs')), $body_data['commands']); } $bodies = $this->getEmailBodiesWithMultipleCommands(); foreach ($bodies as $body) { $parser = new PhabricatorMetaMTAEmailBodyParser(); $body_data = $parser->parseBody($body); $this->assertEqual("preface\n\nOKAY", $body_data['body']); $this->assertEqual(array(array('top1'), array('top2')), $body_data['commands']); } $bodies = $this->getEmailBodiesWithSplitCommands(); foreach ($bodies as $body) { $parser = new PhabricatorMetaMTAEmailBodyParser(); $body_data = $parser->parseBody($body); $this->assertEqual('OKAY', $body_data['body']); $this->assertEqual(array(array('cmd1'), array('cmd2')), $body_data['commands']); } $bodies = $this->getEmailBodiesWithMiddleCommands(); foreach ($bodies as $body) { $parser = new PhabricatorMetaMTAEmailBodyParser(); $body_data = $parser->parseBody($body); $this->assertEqual("HEAD\n!cmd2\nTAIL", $body_data['body']); } }
public function parseBody() { $body = $this->getRawTextBody(); $parser = new PhabricatorMetaMTAEmailBodyParser(); return $parser->parseBody($body); }