From dec8b69c7e67d411ec1a7c2fb5a350b527767cf6 Mon Sep 17 00:00:00 2001 From: Leonard Smith Date: Thu, 6 May 2021 07:27:45 -0500 Subject: [PATCH] Add the test left out in the previous commit :-( --- tests/Unit/UlbXmlImportHandlerTest.php | 78 ++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 tests/Unit/UlbXmlImportHandlerTest.php diff --git a/tests/Unit/UlbXmlImportHandlerTest.php b/tests/Unit/UlbXmlImportHandlerTest.php new file mode 100644 index 0000000..ab7a9b8 --- /dev/null +++ b/tests/Unit/UlbXmlImportHandlerTest.php @@ -0,0 +1,78 @@ + + * Date: 5/6/21 + * Time: 6:52 AM + */ +class UlbXmlImportHandlerTest extends TestCase +{ + public function testStripUsfmMarkupRemovesUsfmNode() + { + $xml = <<<'END' + + + + + Some test with markup \f the markup \f* + + + + +END; + + /** @var \DOMDocument $doc */ + $doc = new \DOMDocument; + $doc->loadXML($xml); + + $element = $doc->getElementsByTagName('w'); + + $handler = new UlbXmlImportHandler; + + $reflection_class = new \ReflectionClass(UlbXmlImportHandler::class); + $method = $reflection_class->getMethod('stripUsfmMarkup'); + $method->setAccessible(true); + + $result = $method->invoke($handler, $element[0]); + $this->assertInstanceOf(\DOMElement::class, $result); + $this->assertStringNotContainsString('\f the markup \f*', $result->nodeValue); + $this->assertStringContainsString('Some test with markup', $result->nodeValue); + } + + public function testStripUsfmMarkupWorksWhenNoUsfmNode() + { + $xml = <<<'END' + + + + + Some test without markup + + + + +END; + + /** @var \DOMDocument $doc */ + $doc = new \DOMDocument; + $doc->loadXML($xml); + + $element = $doc->getElementsByTagName('w'); + + $handler = new UlbXmlImportHandler; + + $reflection_class = new \ReflectionClass(UlbXmlImportHandler::class); + $method = $reflection_class->getMethod('stripUsfmMarkup'); + $method->setAccessible(true); + + $result = $method->invoke($handler, $element[0]); + $this->assertInstanceOf(\DOMElement::class, $result); + $this->assertStringContainsString('Some test without markup', $result->nodeValue); + } +}