Skip to content

Commit fb9c09f

Browse files
committed
fix
1 parent df584ec commit fb9c09f

File tree

3 files changed

+30
-19
lines changed

3 files changed

+30
-19
lines changed

src/Report/Xml/Facade.php

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -123,8 +123,9 @@ private function processDirectory(DirectoryNode $directory, Node $context): void
123123
$directoryName = '/';
124124
}
125125

126-
$this->xmlWriter->startElement('directory');
127-
$this->xmlWriter->writeAttribute('name', $directoryName);
126+
$writer = $this->project->getWriter();
127+
$writer->startElement('directory');
128+
$writer->writeAttribute('name', $directoryName);
128129
$directoryObject = $context->addDirectory();
129130

130131
$this->setTotals($directory, $directoryObject->totals());
@@ -136,22 +137,24 @@ private function processDirectory(DirectoryNode $directory, Node $context): void
136137
foreach ($directory->files() as $node) {
137138
$this->processFile($node, $directoryObject);
138139
}
139-
$this->xmlWriter->endElement();
140+
$writer->endElement();
140141
}
141142

142143
/**
143144
* @throws XmlException
144145
*/
145146
private function processFile(FileNode $file, Directory $context): void
146147
{
147-
$this->xmlWriter->startElement('file');
148-
$this->xmlWriter->writeAttribute('name', $file->name());
149-
$this->xmlWriter->writeAttribute('href', $file->id() . '.xml');
148+
$context->getWriter()->startElement('file');
149+
$context->getWriter()->writeAttribute('name', $file->name());
150+
$context->getWriter()->writeAttribute('href', $file->id() . '.xml');
150151

151152
$fileObject = $context->addFile();
152153

153154
$this->setTotals($file, $fileObject->totals());
154155

156+
$context->getWriter()->endElement();
157+
155158
$path = substr(
156159
$file->pathAsString(),
157160
strlen($this->project->projectSourceDirectory()),
@@ -171,7 +174,7 @@ private function processFile(FileNode $file, Directory $context): void
171174
$this->processFunction($function, $fileReport);
172175
}
173176

174-
$this->xmlWriter->startElement('coverage');
177+
$fileReport->getWriter()->startElement('coverage');
175178
foreach ($file->lineCoverageData() as $line => $tests) {
176179
if (!is_array($tests) || count($tests) === 0) {
177180
continue;
@@ -180,23 +183,21 @@ private function processFile(FileNode $file, Directory $context): void
180183
$coverage = $fileReport->lineCoverage((string) $line);
181184
$coverage->finalize($tests);
182185
}
183-
$this->xmlWriter->endElement();
184-
185-
$this->xmlWriter->endElement();
186+
$fileReport->getWriter()->endElement();
186187

187-
$this->xmlWriter->startElement('source');
188+
$fileReport->getWriter()->startElement('source');
188189
$fileReport->source()->setSourceCode(
189190
file_get_contents($file->pathAsString()),
190191
);
191-
$this->xmlWriter->endElement();
192+
$fileReport->getWriter()->endElement();
192193

193194
$fileReport->finalize();
194195
}
195196

196197
private function processUnit(ProcessedClassType|ProcessedTraitType $unit, Report $report): void
197198
{
198199
if ($unit instanceof ProcessedClassType) {
199-
$this->xmlWriter->startElement('class');
200+
$report->getWriter()->startElement('class');
200201

201202
$unitObject = $report->classObject(
202203
$unit->className,
@@ -207,7 +208,7 @@ private function processUnit(ProcessedClassType|ProcessedTraitType $unit, Report
207208
(float) $unit->crap,
208209
);
209210
} else {
210-
$this->xmlWriter->startElement('trait');
211+
$report->getWriter()->startElement('trait');
211212

212213
$unitObject = $report->traitObject(
213214
$unit->traitName,
@@ -220,7 +221,7 @@ private function processUnit(ProcessedClassType|ProcessedTraitType $unit, Report
220221
}
221222

222223
foreach ($unit->methods as $method) {
223-
$this->xmlWriter->startElement('method');
224+
$report->getWriter()->startElement('method');
224225

225226
$unitObject->addMethod(
226227
$method->methodName,
@@ -233,15 +234,15 @@ private function processUnit(ProcessedClassType|ProcessedTraitType $unit, Report
233234
$method->crap,
234235
);
235236

236-
$this->xmlWriter->endElement();
237+
$report->getWriter()->endElement();
237238
}
238239

239-
$this->xmlWriter->endElement();
240+
$report->getWriter()->endElement();
240241
}
241242

242243
private function processFunction(ProcessedFunctionType $function, Report $report): void
243244
{
244-
$this->xmlWriter->startElement('function');
245+
$report->getWriter()->startElement('function');
245246

246247
$report->functionObject(
247248
$function->functionName,
@@ -254,7 +255,7 @@ private function processFunction(ProcessedFunctionType $function, Report $report
254255
$function->crap,
255256
);
256257

257-
$this->xmlWriter->endElement();
258+
$report->getWriter()->endElement();
258259
}
259260

260261
/**

src/Report/Xml/File.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,11 @@ public function __construct(XMLWriter $xmlWriter)
2727
$this->xmlWriter = $xmlWriter;
2828
}
2929

30+
public function getWriter(): XMLWriter
31+
{
32+
return $this->xmlWriter;
33+
}
34+
3035
public function totals(): Totals
3136
{
3237
return new Totals($this->xmlWriter);

src/Report/Xml/Node.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,9 @@ public function addFile(): File
4242
return new File($this->xmlWriter);
4343
}
4444

45+
public function getWriter(): XMLWriter
46+
{
47+
return $this->xmlWriter;
48+
}
49+
4550
}

0 commit comments

Comments
 (0)