1 | <?php |
---|
2 | |
---|
3 | /** |
---|
4 | * @group post |
---|
5 | */ |
---|
6 | class Tests_Query_Is_Various extends WP_UnitTestCase { |
---|
7 | |
---|
8 | function setUp() { |
---|
9 | parent::setUp(); |
---|
10 | |
---|
11 | update_option( 'comments_per_page', 5 ); |
---|
12 | update_option( 'posts_per_page', 5 ); |
---|
13 | |
---|
14 | global $wp_rewrite; |
---|
15 | update_option( 'permalink_structure', '/%year%/%monthnum%/%day%/%postname%/' ); |
---|
16 | create_initial_taxonomies(); |
---|
17 | $GLOBALS['wp_rewrite']->init(); |
---|
18 | flush_rewrite_rules(); |
---|
19 | } |
---|
20 | |
---|
21 | function tearDown() { |
---|
22 | parent::tearDown(); |
---|
23 | $GLOBALS['wp_rewrite']->init(); |
---|
24 | } |
---|
25 | |
---|
26 | function test_query_post_and_category() { |
---|
27 | // Bug 21821 |
---|
28 | global $wp_query; |
---|
29 | $this->assertNull( get_post_type_object( 'foo' ) ); |
---|
30 | register_post_type( 'foo', array( 'has_archive' => true ) ); |
---|
31 | |
---|
32 | $pobj = get_post_type_object( 'foo' ); |
---|
33 | $this->assertInstanceOf( 'stdClass', $pobj ); |
---|
34 | $this->assertEquals( 'foo', $pobj->name ); |
---|
35 | $this->assertEquals( true, $pobj->has_archive ); |
---|
36 | |
---|
37 | register_taxonomy_for_object_type( 'category', 'foo' ); |
---|
38 | $this->assertEquals( array( 'category' ), get_object_taxonomies( 'foo' ) ); |
---|
39 | |
---|
40 | $cat_a = $this->factory->term->create( array( 'taxonomy' => 'category', 'name' => 'cat-a' ) ); |
---|
41 | |
---|
42 | $this->factory->post->create( array( 'post_type' => 'foo', 'post_title' => 'foopost', 'post_date' => '2008-12-01 00:00:00', 'post_category' => array( $cat_a ) ) ); |
---|
43 | |
---|
44 | $this->go_to('/?post_type=foo&category_name=cat-a'); |
---|
45 | |
---|
46 | $this->assertEquals( true, is_category() ); |
---|
47 | $this->assertEquals( true, is_post_type_archive() ); |
---|
48 | |
---|
49 | $this->assertNotEquals( '', wp_title( '»', false ) ); |
---|
50 | |
---|
51 | $GLOBALS['wp_taxonomies']['category']->object_type = array( 'post' ); |
---|
52 | } |
---|
53 | } |
---|