1
0
Fork 0
mirror of https://github.com/buddypress/buddypress.git synced 2026-07-22 20:56:55 +08:00
buddypress/tests/phpunit/assets/group-extensions.php
Mathieu Viet 14eb6d9298 Groups: Make sure BP_Group_Extension::widget_display() can be used
On the single item home (eg: a custom front template), it will now be possible to use `bp_custom_group_boxes()` to get the content provided by the Group extensions in their widget.

2 unit tests are checking this only happens when on the Groups single item home.

Fixes #7131

git-svn-id: https://buddypress.svn.wordpress.org/trunk@10905 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
2016-06-27 03:07:47 +00:00

428 lines
9.5 KiB
PHP

<?php
/**
* The following implementations of BP_Group_Extension act as dummy plugins
* for our unit tests
*/
class BPTest_Group_Extension_Parse_Legacy_Properties extends BP_Group_Extension {
function __construct() {
$class_name = get_class( $this );
$this->name = $class_name;
$this->slug = sanitize_title( $class_name );
$this->admin_name = $this->name . ' Edit';
$this->admin_slug = $this->slug . '-edit';
$this->create_name = $this->name . ' Create';
$this->create_slug = $this->slug . '-create';
$this->visibility = 'private';
$this->create_step_position = 58;
$this->nav_item_position = 63;
$this->admin_metabox_context = 'high';
$this->admin_metabox_priority = 'side';
$this->enable_create_step = false;
$this->enable_nav_item = true;
$this->enable_edit_item = false;
$this->enable_admin_item = true;
$this->nav_item_name = $this->name . ' Nav';
$this->display_hook = 'foo_hook';
$this->template_file = 'foo_template';
}
/**
* Provides access to protected method unneeded in BP
*/
function _parse_legacy_properties() {
return $this->parse_legacy_properties();
}
/**
* Provides access to protected property unneeded in BP
*/
function _get_legacy_properties_converted() {
return $this->legacy_properties_converted;
}
}
class BPTest_Group_Extension_Setup_Screens_Use_Global_Fallbacks extends BP_Group_Extension {
function __construct() {
$class_name = get_class( $this );
$this->slug = sanitize_title( $class_name );
$this->name = $class_name;
}
/**
* Provides access to protected method unneeded in BP
*/
function _get_default_screens() {
return $this->get_default_screens();
}
/**
* Provides access to protected method unneeded in BP
*/
function _setup_class_info() {
return $this->setup_class_info();
}
function settings_screen( $group_id = null ) {}
function settings_screen_save( $group_id = null ) {}
}
class BPTest_Group_Extension_Setup_Screens_Define_Edit_Screens_Locally extends BP_Group_Extension {
function __construct() {
$class_name = get_class( $this );
$this->slug = sanitize_title( $class_name );
$this->name = $class_name;
}
function edit_screen( $group_id = null ) {}
function edit_screen_save( $group_id = null ) {}
function settings_screen( $group_id = null ) {}
function settings_screen_save( $group_id = null ) {}
/**
* Provides access to protected method unneeded in BP
*/
function _get_default_screens() {
return $this->get_default_screens();
}
/**
* Provides access to protected method unneeded in BP
*/
function _setup_class_info() {
return $this->setup_class_info();
}
}
class BPTest_Group_Extension_Access_Root_Property extends BP_Group_Extension {
function __construct() {
$class_name = get_class( $this );
$args = array(
'slug' => sanitize_title( $class_name ),
'name' => $class_name,
'nav_item_position' => 39,
);
parent::init( $args );
}
}
class BPTest_Group_Extension_Access_Init_Property_Using_Legacy_Location extends BP_Group_Extension {
function __construct() {
$class_name = get_class( $this );
$args = array(
'slug' => sanitize_title( $class_name ),
'name' => $class_name,
'screens' => array(
'create' => array(
'position' => 18,
),
),
);
parent::init( $args );
}
}
class BPTest_Group_Extension_Get_Screen_Callback_Fallbacks extends BP_Group_Extension {
function __construct() {
$class_name = get_class( $this );
$args = array(
'slug' => sanitize_title( $class_name ),
'name' => $class_name,
);
parent::init( $args );
}
function settings_screen( $group_id = null ) {}
function settings_screen_save( $group_id = null ) {}
function edit_screen( $group_id = null ) {}
function edit_screen_save( $group_id = null ) {}
}
class BPTest_Group_Extension_Enable_Nav_Item_True extends BP_Group_Extension {
public function __construct() {
$class_name = get_class( $this );
$args = array(
'name' => $class_name,
'slug' => sanitize_title( $class_name ),
'enable_nav_item' => true,
);
parent::init( $args );
}
}
class BPTest_Group_Extension_Enable_Nav_Item_False extends BP_Group_Extension {
public function __construct() {
$class_name = get_class( $this );
$args = array(
'name' => $class_name,
'slug' => sanitize_title( $class_name ),
'enable_nav_item' => false,
);
parent::init( $args );
}
}
class BPTest_Group_Extension_Visibility_Private extends BP_Group_Extension {
public function __construct() {
$class_name = get_class( $this );
$args = array(
'name' => $class_name,
'slug' => sanitize_title( $class_name ),
'visibility' => 'private',
);
parent::init( $args );
}
}
class BPTest_Group_Extension_Visibility_Public extends BP_Group_Extension {
public function __construct() {
$class_name = get_class( $this );
$args = array(
'name' => $class_name,
'slug' => sanitize_title( $class_name ),
'visibility' => 'public',
);
parent::init( $args );
}
}
class BPTest_Group_Extension_Inferred_Access_Settings_EnableNavItem_True extends BP_Group_Extension {
public function __construct() {
$class_name = get_class( $this );
$args = array(
'name' => $class_name,
'slug' => sanitize_title( $class_name ),
'enable_nav_item' => true,
);
parent::init( $args );
}
}
class BPTest_Group_Extension_Inferred_Access_Settings_EnableNavItem_False extends BP_Group_Extension {
public function __construct() {
$class_name = get_class( $this );
$args = array(
'name' => $class_name,
'slug' => sanitize_title( $class_name ),
'enable_nav_item' => false,
);
parent::init( $args );
}
}
class BPTest_Group_Extension_Access_Anyone extends BP_Group_Extension {
public function __construct() {
$class_name = get_class( $this );
$args = array(
'name' => $class_name,
'slug' => sanitize_title( $class_name ),
'access' => 'anyone',
);
parent::init( $args );
}
}
class BPTest_Group_Extension_Access_Loggedin extends BP_Group_Extension {
public function __construct() {
$class_name = get_class( $this );
$args = array(
'name' => $class_name,
'slug' => sanitize_title( $class_name ),
'access' => 'loggedin',
);
parent::init( $args );
}
}
class BPTest_Group_Extension_Access_Member extends BP_Group_Extension {
public function __construct() {
$class_name = get_class( $this );
$args = array(
'name' => $class_name,
'slug' => sanitize_title( $class_name ),
'access' => 'member',
);
parent::init( $args );
}
}
class BPTest_Group_Extension_Access_AdminMod extends BP_Group_Extension {
public function __construct() {
$class_name = get_class( $this );
$args = array(
'name' => $class_name,
'slug' => sanitize_title( $class_name ),
'access' => array(
'mod',
'admin',
),
);
parent::init( $args );
}
}
class BPTest_Group_Extension_Access_Admin extends BP_Group_Extension {
public function __construct() {
$class_name = get_class( $this );
$args = array(
'name' => $class_name,
'slug' => sanitize_title( $class_name ),
'access' => 'admin',
);
parent::init( $args );
}
}
class BPTest_Group_Extension_Access_Noone extends BP_Group_Extension {
public function __construct() {
$class_name = get_class( $this );
$args = array(
'name' => $class_name,
'slug' => sanitize_title( $class_name ),
'access' => 'noone',
);
parent::init( $args );
}
}
class BPTest_Group_Extension_ShowTab_Anyone extends BP_Group_Extension {
public function __construct() {
$class_name = get_class( $this );
$args = array(
'name' => $class_name,
'slug' => sanitize_title( $class_name ),
'access' => 'admin',
'show_tab' => 'anyone',
);
parent::init( $args );
}
}
class BPTest_Group_Extension_ShowTab_Loggedin extends BP_Group_Extension {
public function __construct() {
$class_name = get_class( $this );
$args = array(
'name' => $class_name,
'slug' => sanitize_title( $class_name ),
'access' => 'admin',
'show_tab' => 'loggedin',
);
parent::init( $args );
}
}
class BPTest_Group_Extension_ShowTab_Member extends BP_Group_Extension {
public function __construct() {
$class_name = get_class( $this );
$args = array(
'name' => $class_name,
'slug' => sanitize_title( $class_name ),
'access' => 'admin',
'show_tab' => 'member',
);
parent::init( $args );
}
}
class BPTest_Group_Extension_ShowTab_AdminMod extends BP_Group_Extension {
public function __construct() {
$class_name = get_class( $this );
$args = array(
'name' => $class_name,
'slug' => sanitize_title( $class_name ),
'access' => 'admin',
'show_tab' => array(
'mod',
'admin',
),
);
parent::init( $args );
}
}
class BPTest_Group_Extension_ShowTab_Admin extends BP_Group_Extension {
public function __construct() {
$class_name = get_class( $this );
$args = array(
'name' => $class_name,
'slug' => sanitize_title( $class_name ),
'access' => 'admin',
'show_tab' => 'admin',
);
parent::init( $args );
}
}
class BPTest_Group_Extension_ShowTab_Noone extends BP_Group_Extension {
public function __construct() {
$class_name = get_class( $this );
$args = array(
'name' => $class_name,
'slug' => sanitize_title( $class_name ),
'access' => 'noone',
'show_tab' => 'noone',
);
parent::init( $args );
}
}
class BPTest_Group_Extension_Widget_Method extends BP_Group_Extension {
public function __construct() {
$class_name = get_class( $this );
$args = array(
'name' => $class_name,
'slug' => sanitize_title( $class_name ),
);
parent::init( $args );
}
public function widget_display() {
echo 'Widget Displayed';
}
}