function describe($name, $descriptionFunction) { $oldActual = Spec::getActualExampleGroup(); if (!$oldActual) { $newExampleGroup = \PSpec\ExampleSpec::buildExampleSpec($name); $specData = \PSpec\PSpec::getActualSpecData(); $newExampleGroup->setSpecData($specData); Spec::setActualExampleGroup($newExampleGroup); $descriptionFunction(); Spec::emptyActualExampleGroup(); \PSpec\PSpec::addExampleGroupToActual($newExampleGroup); } else { $newExampleGroup = \PSpec\ExampleGroup::buildExampleGroup($name); $oldActual->addExample($newExampleGroup); Spec::setActualExampleGroup($newExampleGroup); $descriptionFunction(); Spec::setActualExampleGroup($oldActual); } }