/**
  * @covers \NewFrontiers\Framework\Output\Css::registerLibrary
  * @covers \NewFrontiers\Framework\Output\Css::requireLibrary
  * @covers \NewFrontiers\Framework\Output\Css::getLinkTags
  * @covers \NewFrontiers\Framework\Output\Css::includeLibraries
  */
 public function testIncludeLibraries()
 {
     static::assertEquals('', Css::getLinkTags());
     Css::registerLibrary('test1', ['test1.css', 'test2.css']);
     Css::registerLibrary('test2', 'test3.css');
     $soll = "\n<link href=\"test1.css\" rel=\"stylesheet\" type=\"text/css\" />" . "\n<link href=\"test2.css\" rel=\"stylesheet\" type=\"text/css\" />" . "\n<link href=\"test3.css\" rel=\"stylesheet\" type=\"text/css\" />";
     Css::requireLibrary('test1');
     Css::requireLibrary('test2');
     Css::requireLibrary('test3');
     //this will create en error log
     static::assertEquals($soll, Css::getLinkTags());
     //error log asserted here
     $items = Logging::getLogItems();
     $msg = end($items)["msg"];
     static::assertStringStartsWith("CSS-Bibliothek nicht gefunden: test3", $msg);
     //Logging actually puts \r\n at the end of the message
     //the following code depends on the previous code, that' s why it isn't a single test
     Css::registerLibrary(0, '" /><link href="test');
     Css::registerLibrary('test1', '');
     $soll = "\n<link href=\"\" rel=\"stylesheet\" type=\"text/css\" />" . "\n<link href=\"test3.css\" rel=\"stylesheet\" type=\"text/css\" />" . "\n<link href=\"\" /><link href=\"test\" rel=\"stylesheet\" type=\"text/css\" />" . "\n<link href=\"test3.css\" rel=\"stylesheet\" type=\"text/css\" />";
     Css::requireLibrary(0);
     Css::requireLibrary('test2');
     //this will create a second entry for text3.css, what is correct html
     static::assertEquals($soll, Css::getLinkTags());
     Css::includeLibraries();
     $this->expectOutputString(Css::getLinkTags());
 }
 protected function registerPlugins()
 {
     $basePath = Configuration::get('site.internalUrl') . '/bower_components/froala-wysiwyg-editor';
     Javascript::requireLibrary('froala');
     Javascript::registerLibrary('froala-align', ["{$basePath}/js/plugins/align.min.js"]);
     Javascript::registerLibrary('froala-charCounter', ["{$basePath}/js/plugins/char_counter.min.js"]);
     Javascript::registerLibrary('froala-codeBeautifier', ["{$basePath}/js/plugins/code_beautifier.min.js"]);
     Javascript::registerLibrary('froala-codeView', ["{$basePath}/js/plugins/code_view.min.js"]);
     Javascript::registerLibrary('froala-colors', ["{$basePath}/js/plugins/colors.min.js"]);
     Javascript::registerLibrary('froala-draggable', ["{$basePath}/js/plugins/draggable.min.js"]);
     Javascript::registerLibrary('froala-emoticons', ["{$basePath}/js/plugins/emoticons.min.js"]);
     Javascript::registerLibrary('froala-entities', ["{$basePath}/js/plugins/entities.min.js"]);
     Javascript::registerLibrary('froala-file', ["{$basePath}/js/plugins/file.min.js"]);
     Javascript::registerLibrary('froala-fontFamily', ["{$basePath}/js/plugins/font_family.min.js"]);
     Javascript::registerLibrary('froala-fontSize', ["{$basePath}/js/plugins/font_size.min.js"]);
     Javascript::registerLibrary('froala-fullscreen', ["{$basePath}/js/plugins/fullscreen.min.js"]);
     Javascript::registerLibrary('froala-image', ["{$basePath}/js/plugins/image.min.js"]);
     Javascript::registerLibrary('froala-imageManager', ["{$basePath}/js/plugins/image_manager.min.js"]);
     Javascript::registerLibrary('froala-inlineStyle', ["{$basePath}/js/plugins/inline_style.min.js"]);
     Javascript::registerLibrary('froala-lineBreaker', ["{$basePath}/js/plugins/line_breaker.min.js"]);
     Javascript::registerLibrary('froala-link', ["{$basePath}/js/plugins/link.min.js"]);
     Javascript::registerLibrary('froala-lists', ["{$basePath}/js/plugins/lists.min.js"]);
     Javascript::registerLibrary('froala-paragraphFormat', ["{$basePath}/js/plugins/paragraph_format.min.js"]);
     Javascript::registerLibrary('froala-paragraphStyle', ["{$basePath}/js/plugins/paragraph_style.min.js"]);
     Javascript::registerLibrary('froala-quickInsert', ["{$basePath}/js/plugins/quick_insert.min.js"]);
     Javascript::registerLibrary('froala-quote', ["{$basePath}/js/plugins/quote.min.js"]);
     Javascript::registerLibrary('froala-save', ["{$basePath}/js/plugins/save.min.js"]);
     Javascript::registerLibrary('froala-table', ["{$basePath}/js/plugins/table.min.js"]);
     Javascript::registerLibrary('froala-url', ["{$basePath}/js/plugins/url.min.js"]);
     Javascript::registerLibrary('froala-video', ["{$basePath}/js/plugins/video.min.js"]);
     Css::registerLibrary('froala-charCounter', ["{$basePath}/css/plugins/char_counter.min.css"]);
     Css::registerLibrary('froala-codeView', ["{$basePath}/css/plugins/code_view.min.css"]);
     Css::registerLibrary('froala-colors', ["{$basePath}/css/plugins/colors.min.css"]);
     Css::registerLibrary('froala-draggable', ["{$basePath}/css/plugins/draggable.min.css"]);
     Css::registerLibrary('froala-emoticons', ["{$basePath}/css/plugins/emoticons.min.css"]);
     Css::registerLibrary('froala-file', ["{$basePath}/css/plugins/file.min.css"]);
     Css::registerLibrary('froala-fullscreen', ["{$basePath}/css/plugins/fullscreen.min.css"]);
     Css::registerLibrary('froala-image', ["{$basePath}/css/plugins/image.min.css"]);
     Css::registerLibrary('froala-imageManager', ["{$basePath}/css/plugins/image_manager.min.css"]);
     Css::registerLibrary('froala-lineBreaker', ["{$basePath}/css/plugins/line_breaker.min.css"]);
     Css::registerLibrary('froala-quickInsert', ["{$basePath}/css/plugins/quick_insert.min.css"]);
     Css::registerLibrary('froala-table', ["{$basePath}/css/plugins/table.min.css"]);
     Css::registerLibrary('froala-video', ["{$basePath}/css/plugins/video.min.css"]);
 }