/** * @covers \Pressbooks\Shortcodes\Generics\Generics::shortcodeHandler */ public function test_shortcodeHandler() { // Test a straightforward tag. $content = $this->generics->shortcodeHandler([], 'A normal blockquote', 'blockquote'); $this->assertEquals("<blockquote><p>A normal blockquote</p>\n</blockquote>", $content); // Test a tag with a class attribute. $content = $this->generics->shortcodeHandler(['class' => 'special'], 'A special blockquote', 'blockquote'); $this->assertEquals("<blockquote class=\"special\"><p>A special blockquote</p>\n</blockquote>", $content); // Test a tag which applies a class automatically. $content = $this->generics->shortcodeHandler([], 'A normal textbox', 'textbox'); $this->assertEquals("<div class=\"textbox\"><p>A normal textbox</p>\n</div>", $content); // Test a tag which applies a class automatically, with an additional class attribute. $content = $this->generics->shortcodeHandler(['class' => 'special'], 'A special textbox', 'textbox'); $this->assertEquals("<div class=\"textbox special\"><p>A special textbox</p>\n</div>", $content); $this->assertEmpty($this->generics->shortcodeHandler([], '', 'blockquote')); }
add_filter('init', '\\PressBooks\\Redirect\\rewrite_rules_for_catalog', 1); add_filter('init', '\\PressBooks\\Redirect\\rewrite_rules_for_api', 1); add_filter('login_redirect', '\\PressBooks\\Redirect\\login', 10, 3); // ------------------------------------------------------------------------------------------------------------------- // Sitemap // ------------------------------------------------------------------------------------------------------------------- add_filter('init', '\\PressBooks\\Redirect\\rewrite_rules_for_sitemap', 1); add_action('do_robotstxt', '\\PressBooks\\Utility\\add_sitemap_to_robots_txt'); // ------------------------------------------------------------------------------------------------------------------- // Shortcodes // ------------------------------------------------------------------------------------------------------------------- remove_filter('the_content', 'wpautop'); add_filter('the_content', 'wpautop', 12); // execute wpautop after shortcode processing $_ = \PressBooks\Shortcodes\Footnotes\Footnotes::getInstance(); $_ = \PressBooks\Shortcodes\Generics\Generics::getInstance(); $_ = \PressBooks\Shortcodes\WikiPublisher\Glyphs::getInstance(); // ------------------------------------------------------------------------------------------------------------------- // Upgrade Book Metadata // ------------------------------------------------------------------------------------------------------------------- if (\PressBooks\Book::isBook()) { add_action('init', function () { $meta_version = get_option('pressbooks_metadata_version', 0); if ($meta_version < \PressBooks\Metadata::$currentVersion) { $metadata = new \PressBooks\Metadata(); $metadata->upgrade($meta_version); update_option('pressbooks_metadata_version', \PressBooks\Metadata::$currentVersion); } }, 1000); } // -------------------------------------------------------------------------------------------------------------------