@@ -587,15 +587,29 @@ protected function calculateStatistics()
587587
588588 foreach ($ this ->classes as $ className => &$ class ) {
589589 foreach ($ class ['methods ' ] as &$ method ) {
590- if ($ method ['executedLines ' ] == $ method ['executableLines ' ]) {
590+ if ($ method ['executableLines ' ] > 0 ) {
591+ $ method ['coverage ' ] = ($ method ['executedLines ' ] /
592+ $ method ['executableLines ' ]) * 100 ;
593+ } else {
594+ $ method ['coverage ' ] = 100 ;
595+ }
596+
597+ if ($ method ['coverage ' ] == 100 ) {
591598 $ this ->numTestedMethods ++;
592599 }
593600
594601 $ class ['ccn ' ] += $ method ['ccn ' ];
595602 }
596603
597604 if ($ className != '* ' ) {
598- if ($ class ['executedLines ' ] == $ class ['executableLines ' ]) {
605+ if ($ class ['executableLines ' ] > 0 ) {
606+ $ class ['coverage ' ] = ($ class ['executedLines ' ] /
607+ $ class ['executableLines ' ]) * 100 ;
608+ } else {
609+ $ class ['coverage ' ] = 100 ;
610+ }
611+
612+ if ($ class ['coverage ' ] == 100 ) {
599613 $ this ->numTestedClasses ++;
600614 }
601615 }
@@ -799,7 +813,8 @@ protected function processClasses()
799813 'startLine ' => $ class ['startLine ' ],
800814 'executableLines ' => 0 ,
801815 'executedLines ' => 0 ,
802- 'ccn ' => 0
816+ 'ccn ' => 0 ,
817+ 'coverage ' => 0
803818 );
804819
805820 $ this ->startLines [$ class ['startLine ' ]] = &$ this ->classes [$ className ];
@@ -811,7 +826,8 @@ protected function processClasses()
811826 'startLine ' => $ method ['startLine ' ],
812827 'executableLines ' => 0 ,
813828 'executedLines ' => 0 ,
814- 'ccn ' => $ method ['ccn ' ]
829+ 'ccn ' => $ method ['ccn ' ],
830+ 'coverage ' => 0
815831 );
816832
817833 $ this ->startLines [$ method ['startLine ' ]] = &$ this ->classes [$ className ]['methods ' ][$ methodName ];
0 commit comments