/**
  * @param string $initial_url
  *
  * @return void
  */
 private function run_test_on_consecutive_pages($initial_url)
 {
     // Test page 1 of the post type archives, should have just a rel=next and a canonical
     $this->go_to($initial_url);
     $page_2_link = get_pagenum_link(2, false);
     $expected = '<link rel="next" href="' . esc_url($page_2_link) . '" />' . "\n";
     self::$class_instance->adjacent_rel_links();
     $this->assertEquals($initial_url, self::$class_instance->canonical(false));
     $this->expectOutput($expected);
     // Test page 2 of the post type archives, should have a rel=next and rel=prev and a canonical
     self::$class_instance->reset();
     $this->go_to($page_2_link);
     $page_3_link = get_pagenum_link(3, false);
     $expected = '<link rel="prev" href="' . esc_url($initial_url) . '" />' . "\n" . '<link rel="next" href="' . esc_url($page_3_link) . '" />' . "\n";
     self::$class_instance->adjacent_rel_links();
     $this->assertEquals($page_2_link, self::$class_instance->canonical(false));
     $this->expectOutput($expected);
     // Test page 3 of the author archives, should have just a rel=prev and a canonical
     self::$class_instance->reset();
     $this->go_to($page_3_link);
     $expected = '<link rel="prev" href="' . esc_url($page_2_link) . '" />' . "\n";
     self::$class_instance->adjacent_rel_links();
     $this->assertEquals($page_3_link, self::$class_instance->canonical(false));
     $this->expectOutput($expected);
 }
 /**
  * @covers WPSEO_Frontend::canonical
  */
 public function test_canonical()
 {
     // @todo: fix for multisite
     if (is_multisite()) {
         return;
     }
     // create and go to post
     $post_id = $this->factory->post->create();
     $this->go_to(get_permalink($post_id));
     // test default canonical
     $expected = get_permalink($post_id);
     $this->assertEquals($expected, self::$class_instance->canonical(false));
     // test manual override while using no override
     $meta_canon = 'http://canonic.al';
     WPSEO_Meta::set_value('canonical', $meta_canon, $post_id);
     $this->assertEquals($expected, self::$class_instance->canonical(false, false, true));
     // test manual override
     $this->assertEquals($meta_canon, self::$class_instance->canonical(false));
     // test home page
     $this->go_to_home();
     $expected = home_url();
     $this->assertEquals($expected, self::$class_instance->canonical(false, false, true));
     // test search
     $expected = get_search_link('sample query');
     $this->go_to($expected);
     $this->assertEquals($expected, self::$class_instance->canonical(false));
     // test taxonomy pages, category pages and tag pages
     $category_id = wp_create_category('Category Name');
     $category_link = get_category_link($category_id);
     $this->go_to($category_link);
     $expected = $category_link;
     $this->assertEquals($expected, self::$class_instance->canonical(false));
     // @todo test post type archives
     // @todo test author archives
     // @todo test date archives
     // @todo test pagination
     // @todo test force_transport
 }
Ejemplo n.º 3
0
 public function url()
 {
     $url = WPSEO_Frontend::canonical(false);
     echo "<meta property='og:url' content='" . esc_attr($url) . "'/>\n";
 }