/**
  * Write a test.pending event on the message.
  *
  * @param Test $test
  * @return void
  */
 public function onTestPending(Test $test)
 {
     $this->message->setTest($test)->setEvent('test.pending')->setStatus(TestMessage::TEST_PENDING)->write();
 }
         $this->message->on('test.passed', function ($t, $d) use(&$test, &$data) {
             $test = $t;
             $data = $d;
         });
         $this->message->emit('data', [$this->content]);
         expect($data)->to->have->length->of->at->least(1);
     });
     it('should emit exception and title data with event', function () {
         $suite = new Suite("Parents", function () {
         });
         $test = new Test('should have children');
         $suite->addTest($test);
         $exception = new RuntimeException('a failure');
         $tmpfile = tmpfile();
         $message = new TestMessage($tmpfile);
         $message->setTest($test)->setEvent('test.failed')->setException($exception)->write();
         fseek($tmpfile, 0);
         $content = fread($tmpfile, 8192);
         $receivedTest = null;
         $receivedException = null;
         $message->on('test.failed', function ($t, $e) use(&$receivedTest, &$receivedException) {
             $receivedTest = $t;
             $receivedException = $e;
         });
         $message->emit('data', [$content]);
         expect($receivedTest->getDescription())->to->equal('should have children');
         expect($receivedTest->getTitle())->to->equal('Parents should have children');
         expect($receivedException->getMessage())->to->equal($exception->getMessage());
         expect($receivedException->getTraceAsString())->to->equal($exception->getTraceAsString());
     });
 });