# File lib/mspec/runner/context.rb, line 191
191:   def process
192:     MSpec.register_current self
193: 
194:     if @parsed and filter_examples
195:       MSpec.shuffle @examples if MSpec.randomize?
196:       MSpec.actions :enter, description
197: 
198:       if protect "before :all", pre(:all)
199:         @examples.each do |state|
200:           @state  = state
201:           example = state.example
202:           MSpec.actions :before, state
203: 
204:           if protect "before :each", pre(:each)
205:             MSpec.clear_expectations
206:             if example
207:               passed = protect nil, example
208:               MSpec.actions :example, state, example
209:               protect nil, @expectation_missing unless MSpec.expectation? or not passed
210:             end
211:             protect "after :each", post(:each)
212:             protect "Mock.verify_count", @mock_verify
213:           end
214: 
215:           protect "Mock.cleanup", @mock_cleanup
216:           MSpec.actions :after, state
217:           @state = nil
218:         end
219:         protect "after :all", post(:all)
220:       else
221:         protect "Mock.cleanup", @mock_cleanup
222:       end
223: 
224:       MSpec.actions :leave
225:     end
226: 
227:     MSpec.register_current nil
228:     children.each { |child| child.process }
229:   end