| 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 | } |
|---|