/**
  * @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'));
 }
Exemple #2
0
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);
}
// -------------------------------------------------------------------------------------------------------------------