/** * Test sanitize_nav_menus_created_posts. * * @covers WP_Customize_Nav_Menus::sanitize_nav_menus_created_posts() */ function test_sanitize_nav_menus_created_posts() { $menus = new WP_Customize_Nav_Menus($this->wp_customize); $contributor_user_id = $this->factory()->user->create(array('role' => 'contributor')); $author_user_id = $this->factory()->user->create(array('role' => 'author')); $administrator_user_id = $this->factory()->user->create(array('role' => 'administrator')); $contributor_post_id = $this->factory()->post->create(array('post_status' => 'auto-draft', 'post_title' => 'Contributor Post', 'post_type' => 'post', 'post_author' => $contributor_user_id)); $author_post_id = $this->factory()->post->create(array('post_status' => 'auto-draft', 'post_title' => 'Author Post', 'post_type' => 'post', 'post_author' => $author_user_id)); $administrator_post_id = $this->factory()->post->create(array('post_status' => 'auto-draft', 'post_title' => 'Admin Post', 'post_type' => 'post', 'post_author' => $administrator_user_id)); $value = array('bad', $contributor_post_id, $author_post_id, $administrator_post_id); wp_set_current_user($contributor_user_id); $sanitized = $menus->sanitize_nav_menus_created_posts($value); $this->assertEquals(array(), $sanitized); wp_set_current_user($author_user_id); $sanitized = $menus->sanitize_nav_menus_created_posts($value); $this->assertEquals(array($author_post_id), $sanitized); wp_set_current_user($administrator_user_id); $sanitized = $menus->sanitize_nav_menus_created_posts($value); $this->assertEquals(array($contributor_post_id, $author_post_id, $administrator_post_id), $sanitized); }