From 81d3d79c1f99378e51242c801b20ca934790b98e Mon Sep 17 00:00:00 2001 From: Boone Gorges Date: Tue, 26 Jan 2016 02:26:21 +0000 Subject: [PATCH] Add tests for `is_post_type_viewable()`. See #35609. git-svn-id: https://develop.svn.wordpress.org/trunk@36401 602fd350-edb4-49c9-b593-d223f7449a82 --- .../phpunit/tests/post/isPostTypeViewable.php | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 tests/phpunit/tests/post/isPostTypeViewable.php diff --git a/tests/phpunit/tests/post/isPostTypeViewable.php b/tests/phpunit/tests/post/isPostTypeViewable.php new file mode 100644 index 0000000000..17b3f7de7b --- /dev/null +++ b/tests/phpunit/tests/post/isPostTypeViewable.php @@ -0,0 +1,74 @@ + false, + '_builtin' => false, + 'public' => true, + ) ); + + $pt = get_post_type_object( 'wptests_pt' ); + + $this->assertFalse( is_post_type_viewable( $pt ) ); + } + + public function test_should_return_true_for_publicly_queryable_types() { + register_post_type( 'wptests_pt', array( + 'publicly_queryable' => true, + '_builtin' => false, + 'public' => false, + ) ); + + $pt = get_post_type_object( 'wptests_pt' ); + + $this->assertTrue( is_post_type_viewable( $pt ) ); + } + + public function test_should_return_false_for_builtin_nonpublic_types() { + register_post_type( 'wptests_pt', array( + 'publicly_queryable' => false, + '_builtin' => true, + 'public' => false, + ) ); + + $pt = get_post_type_object( 'wptests_pt' ); + + $this->assertFalse( is_post_type_viewable( $pt ) ); + } + + public function test_should_return_false_for_nonbuiltin_public_types() { + register_post_type( 'wptests_pt', array( + 'publicly_queryable' => false, + '_builtin' => false, + 'public' => true, + ) ); + + $pt = get_post_type_object( 'wptests_pt' ); + + $this->assertFalse( is_post_type_viewable( $pt ) ); + } + + public function test_should_return_true_for_builtin_public_types() { + register_post_type( 'wptests_pt', array( + 'publicly_queryable' => false, + '_builtin' => true, + 'public' => true, + ) ); + + $pt = get_post_type_object( 'wptests_pt' ); + + $this->assertTrue( is_post_type_viewable( $pt ) ); + } + + public function test_postpage_should_be_viewable() { + $post = get_post_type_object( 'post' ); + $this->assertTrue( is_post_type_viewable( $post ) ); + + $page = get_post_type_object( 'page' ); + $this->assertTrue( is_post_type_viewable( $page ) ); + } +}