/** * @covers \NewFrontiers\Framework\Output\Javascript::registerLibrary * @covers \NewFrontiers\Framework\Output\Javascript::requireLibrary * @covers \NewFrontiers\Framework\Output\Javascript::includeRequiredLibraries * @covers \NewFrontiers\Framework\Output\Javascript::includeRegisteredLibrary * @covers \NewFrontiers\Framework\Output\Javascript::getInstance */ public function testLibrary() { Javascript::registerLibrary("testLibrary", "path/to/js.js"); $jsInstance = Javascript::getInstance(); $this->assertEmpty($jsInstance::render()); Javascript::requireLibrary(""); //this shouldn't create any output Javascript::requireLibrary(3); //this shouldn't create any output Javascript::requireLibrary("testLibrary"); Javascript::includeRequiredLibraries(); Javascript::includeRequiredLibraries(); Javascript::requireLibrary("testLibrary"); Javascript::includeRequiredLibraries(); //at least the keyword script and the path should be in the output $this->expectOutputRegex('/(.*script|.*path\\/to\\/js\\.js){3}.*/'); //check that valid html is created $html = $this->getActualOutput(); $this->assertNotEmpty($html); $dom = new \DOMDocument(); $dom->validateOnParse = true; $isValid = $dom->loadHTML($html); $this->assertTrue($isValid); }