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