1212class Extension implements ExtensionInterface
1313{
1414 /**
15- * Returns the extension config key .
15+ * Loads extension services into temporary container .
1616 *
17- * @return string
17+ * @param ContainerBuilder $container
18+ * @param array $config
1819 */
19- public function getConfigKey ( )
20+ public function load ( ContainerBuilder $ container , array $ config )
2021 {
21- return ' context_code_usage ' ;
22- }
22+ $ eventDispatcher = $ container -> get ( ' event_dispatcher ' ) ;
23+ /** @var $eventDispatcher \Behat\Testwork\EventDispatcher\TestworkEventDispatcher */
2324
24- /**
25- * @{inheritdoc}
26- */
27- public function initialize (ExtensionManager $ extensionManager ) {}
25+ $ coverageCalculator = new CoverageCalculator (new CodeCoverageMonitor (), new CodeCoverageWriter (), $ config );
26+
27+ $ eventDispatcher ->addListener (ExerciseCompleted::BEFORE , [$ coverageCalculator , 'beNotifiedOfExerciseStartedEvent ' ], 1 );
28+ $ eventDispatcher ->addListener (ExerciseCompleted::AFTER , [$ coverageCalculator , 'beNotifiedOfExerciseFinishedEvent ' ], 1 );
29+ }
2830
2931 /**
3032 * Setups configuration for the extension.
@@ -43,24 +45,20 @@ public function configure(ArrayNodeDefinition $builder)
4345 }
4446
4547 /**
46- * Loads extension services into temporary container.
47- *
48- * @param ContainerBuilder $container
49- * @param array $config
48+ * {@inheritdoc}
5049 */
51- public function load ( ContainerBuilder $ container , array $ config )
50+ public function getConfigKey ( )
5251 {
53- $ eventDispatcher = $ container ->get ('event_dispatcher ' );
54- /** @var $eventDispatcher \Behat\Testwork\EventDispatcher\TestworkEventDispatcher */
55-
56- $ coverageCalculator = new CoverageCalculator (new CodeCoverageMonitor (), new CodeCoverageWriter (), $ config );
57-
58- $ eventDispatcher ->addListener (ExerciseCompleted::BEFORE , [$ coverageCalculator , 'beNotifiedOfExerciseStartedEvent ' ], 1 );
59- $ eventDispatcher ->addListener (ExerciseCompleted::AFTER , [$ coverageCalculator , 'beNotifiedOfExerciseFinishedEvent ' ], 1 );
52+ return 'context_code_usage ' ;
6053 }
6154
6255 /**
63- * @param ContainerBuilder $container
56+ * {@inheritdoc}
57+ */
58+ public function initialize (ExtensionManager $ extensionManager ) {}
59+
60+ /**
61+ * {@inheritdoc}
6462 */
6563 public function process (ContainerBuilder $ container ) {}
6664}
0 commit comments