outputFilename !== '') { unlink($this->outputFilename); $this->outputFilename = ''; } } public function testBackgroundImage(): void { $this->outputFilename = File::temporaryFilename(); $testString = "\"He\": ''"; $spreadsheet = new Spreadsheet(); $sheet = $spreadsheet->getActiveSheet(); $sheet->getCell('A1')->setValueExplicit($testString, DataType::TYPE_INLINE); $sheet->getCell('A2')->setValue($testString); $richText = new RichText(); $richText->addText(new TextElement($testString)); $sheet->getCell('A3')->setValue($richText); $writer = new OdsWriter($spreadsheet); $writer->setUseDiskCaching(true, sys_get_temp_dir()); $writer->save($this->outputFilename); $spreadsheet->disconnectWorksheets(); $reader = new OdsReader(); $reloadedSpreadsheet = $reader->load($this->outputFilename); $rsheet = $reloadedSpreadsheet->getActiveSheet(); self::assertSame($testString, $rsheet->getCell('A1')->getValueString()); self::assertSame($testString, $rsheet->getCell('A2')->getValueString()); self::assertSame($testString, $rsheet->getCell('A3')->getValueString()); $reloadedSpreadsheet->disconnectWorksheets(); $file = 'zip://'; $file .= $this->outputFilename; $file .= '#content.xml'; $data = file_get_contents($file); // expected does not escape apostrophes $expected = '"He": \'<?>\''; if ($data === false) { self::fail('Unable to read content file'); } else { $count = substr_count($data, $expected); self::assertSame(3, $count); } } }