protected function BEF_TestBase::createDisplay in Better Exposed Filters 7.3
Creates a display of $type. Currently supports: 'Page'
@todo: support more types...
12 calls to BEF_TestBase::createDisplay()
- BEF_TestCheckboxes::test_befPageDisplayCheckboxes in tests/
better_exposed_filters.test - Verify that checkboxes are rendered correctly on a page display
- BEF_TestDatepicker::test_befDatepicker in tests/
better_exposed_filters.test - Verifies Datepicker options using Drupal core date fields.
- BEF_TestDatepicker::test_befDatepickerCustom in tests/
better_exposed_filters.test - Verifies Datepicker options using a custom (Date module) date field.
- BEF_TestHidden::test_befPageDisplayHidden in tests/
better_exposed_filters.test - Verify hidden exposed filters are rendered correctly on a page display
- BEF_TestLinks::test_befFilterLinks in tests/
better_exposed_filters.test - Verify filters rendered as links.
File
- tests/
better_exposed_filters_TestBase.php, line 118 - Base class for testing the Better Exposed Filters module. @author mikeker
Class
- BEF_TestBase
- Helper functions for Better Exposed Filters tests.
Code
protected function createDisplay($type = 'Page', $settings = NULL) {
if (!isset($this->view['displays'])) {
$this->view['displays'] = array();
}
// Add a display of $type to the view.
$this
->drupalPost($this->view['edit_url'], array(), "Add {$type}");
// Grab the name of the newly created display and store some info about it.
$url = $this
->getUrl();
$display_name = substr($url, strrpos($url, '/') + 1);
$this->view['displays'][$display_name] = array(
'machine_name' => $display_name,
'edit_url' => 'admin/structure/views/view/' . $this->view['machine_name'] . '/edit/' . $display_name,
'settings_base_url' => 'admin/structure/views/nojs/display/' . $this->view['machine_name'] . '/' . $display_name,
);
// Settings should be in the form of 'path' => array_of_form_settings. Eg:
// to set the title for a new display as an override:
// 'title' => array(
// 'title' => 'This is an override title',
// 'override[dropdown]' => display_machine_name_goes_here,
// )
//
// If you navigate to
// admin/structure/views/nojs/display/<view_name>/<display_name>/title
// you will see the form in question.
foreach ($settings as $path => $values) {
$this
->drupalPost($this->view['displays'][$display_name]['settings_base_url'] . "/{$path}", $values, 'Apply');
}
$this
->saveView();
}