/**
  * @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);
 }