Lorem ipsum emphasised text dolor sit amet, strong text consectetur adipisicing elit, abbreviated text sed do eiusmod tempor acronym text incididunt ut labore et dolore magna aliqua. Ut quoted text enim ad minim veniam, quis nostrud exercitation link text ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute deleted text inserted text irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat code text cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

'; public function __construct() { parent::__construct(); // Dummy post $post = array( 'post_title' => 'Testing post', 'post_content' => self::$test_content, 'post_status' => 'publish' ); $id = wp_insert_post($post); $query = 'p=' . $id; query_posts($query); } public function normalize($xml) { $dom = new DomDocument; $dom->loadXML($xml); //$dom->normalize(); return $dom->saveXML(); } public function setUp() { parent::setUp(); $this->plugin = AdvancedExcerpt::Instance(true); rewind_posts(); the_post(); } // Plugin activated public function test_is_active() { $this->assertContains(WP_PLUGIN_DIR . '/advanced-excerpt/advanced-excerpt.php', wp_get_active_and_valid_plugins()); } // Ellipsis appended inside HTML public function test_text_add_more_html_nolink() { $in = '

Lorem ipsum

'; $out = '

Lorem ipsumx

'; $this->assertEquals($out, $this->plugin->text_add_more($in, 'x', false)); } // Ellipsis appended after content public function test_text_add_more_plain_nolink() { $in = 'Lorem ipsum'; $out = 'Lorem ipsumx'; $this->assertEquals($out, $this->plugin->text_add_more($in, 'x', false)); } // Permalink appended public function test_text_add_more_html_link() { $in = '

Lorem ipsum

'; $out = new DomDocument; $out->loadXML($this->plugin->text_add_more($in, 'x', 'y')); $this->assertSelectEquals('a.read_more', 'y', true, $out); } // Word count and closing tags public function test_text_excerpt_words() { $out = '

Lorem ipsum emphasised text dolor sit amet, strong text consectetur adipisicing elit, abbreviated text

'; $in = $this->plugin->text_excerpt(self::$test_content, 14, true, false, false); $this->assertSame($this->normalize($out), $this->normalize($in)); } // Word count and finish sentence public function test_text_excerpt_words_endsentence() { $out = '

Lorem ipsum emphasised text dolor sit amet, strong text consectetur adipisicing elit, abbreviated text sed do eiusmod tempor acronym text incididunt ut labore et dolore magna aliqua.

'; $in = $this->plugin->text_excerpt(self::$test_content, 14, true, false, true); $this->assertSame($this->normalize($out), $this->normalize($in)); } // Character count and closing tags public function test_text_excerpt_chars() { $out = '

Lorem ipsum emphas

'; $in = $this->plugin->text_excerpt(self::$test_content, 16, false, false, false); $this->assertSame($this->normalize($out), $this->normalize($in)); } // Character count and finish word public function test_text_excerpt_chars_endword() { $out = '

Lorem ipsum emphasised

'; $in = $this->plugin->text_excerpt(self::$test_content, 16, false, true, false); $this->assertSame($this->normalize($out), $this->normalize($in)); } // Character count and finish sentence public function test_text_excerpt_chars_endsentence() { $out = '

Lorem ipsum emphasised text dolor sit amet, strong text consectetur adipisicing elit, abbreviated text sed do eiusmod tempor acronym text incididunt ut labore et dolore magna aliqua.

'; $in = $this->plugin->text_excerpt(self::$test_content, 16, false, false, true); $this->assertSame($this->normalize($out), $this->normalize($in)); } // Excerpt filter public function test_filter() { $out = '

Lorem ipsum emphasised text dolor sit amet, strong text consectetur adipisicing elit, abbreviated text sed do eiusmod tempor acronym text incididunt ut labore et dolore magna aliqua. Ut quoted text enim ad minim veniam, quis nostrud exercitation link text ullamco …

'; $in = get_the_excerpt(); $this->assertStringMatchesFormat($out, $in); } // Excerpt filter using template function public function test_filter_options() { $out = 'Lorem ipsum emphasised text dolor sit amet, strong text consectetur adipisicing elit, abbreviated text sed do eiusmod tempor acronym text incididunt ut labore et dolore magna aliqua. Ut quoted text enim ad minim veniam, quis nostrud exercitation link text ullamco… Read the rest'; $in = the_advanced_excerpt(array('allowed_tags' => array(), 'add_link' => 1), true); $this->assertStringMatchesFormat($out, $in); } }