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);
 }