/** * Create a new story object * * @param string $category the category that the story belongs to * @return Story the new story object to use */ function newStoryFor($category) { $story = new Story(); $story->setCategory($category); // our output reports may need to know which file the story itself // is defined in $story->determineStoryFilename(); return $story; }
/** * @return void */ public function stopDevice() { // get the browser adapter $adapter = $this->getDeviceAdapter(); // stop the web browser if (!$adapter) { // nothing to do return; } // what are we doing? $log = $this->startAction('stop the test device'); // do we have a deviceTeardown() phase? // // we need to run this BEFORE we stop the device, otherwise // the deviceTeardown() phase has no device to work with if (isset($this->story) && $this->story->hasDeviceTeardown()) { // get the callbacks to call $callbacks = $this->story->getDeviceTeardown(); // make the call // // we do not need to wrap these in a TRY/CATCH block, // as we are already running inside one of the story's // phases foreach ($callbacks as $callback) { call_user_func($callback, $this); } } // stop the browser $adapter->stop(); // destroy the adapter $this->setDeviceAdapter(null); // all done $log->endAction(); }