| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- <?php
- /**
- * @file
- * Base functions and tests for Display Suite.
- */
- class dsExportablesTests extends dsBaseTest {
- /**
- * Implements getInfo().
- */
- public static function getInfo() {
- return array(
- 'name' => t('Exportables'),
- 'description' => t('Tests for exportables in Display Suite.'),
- 'group' => t('Display Suite'),
- );
- }
- /**
- * Enables the exportables module.
- */
- function dsExportablesSetup() {
- module_enable(array('ds_exportables_test'));
- drupal_flush_all_caches();
- }
- // Test view modes.
- function testDSExportablesViewmodes() {
- $this->dsExportablesSetup();
- // Find a default view mode on admin screen.
- $this->drupalGet('admin/structure/ds/view_modes');
- $this->assertText('Test exportables', t('Exportables view mode found on admin screen.'));
- // Find default view mode on layout screen.
- $this->drupalGet('admin/structure/types/manage/article/display');
- $this->assertText('Test exportables', t('Exportables view mode found on display screen.'));
- // Override default view mode.
- $edit = array(
- 'name' => 'Testing 2',
- );
- $this->drupalPost('admin/structure/ds/view_modes/manage/test_exportables', $edit, t('Save'));
- $this->assertText(t('The view mode Testing 2 has been saved'), t('Exportables label updated'));
- $this->assertText(t('Revert'), t('Revert button found.'));
- // Find default view mode on layout screen.
- $this->drupalGet('admin/structure/types/manage/article/display');
- $this->assertText('Testing 2', t('Updated exportables view mode found on display screen.'));
- // Revert the view mode.
- $this->drupalPost('admin/structure/ds/view_modes/revert/test_exportables', array(), t('Revert'));
- $this->assertText(t('The view mode Testing 2 has been reverted'), t('Testing view mode reverted'));
- $this->assertText('Test exportables', t('Exportables view mode found on admin screen.'));
- // Assert the view mode is gone at the manage display screen.
- $this->drupalGet('admin/structure/types/manage/article/display');
- $this->assertNoText('Testing 2', t('Overrided exportables view mode not found on display screen.'));
- $this->assertText('Test exportables', t('Default exportables view mode found on display screen.'));
- }
- // Test layout and field settings configuration.
- function testDSExportablesLayoutFieldsettings() {
- $this->dsExportablesSetup();
- $this->drupalGet('admin/structure/types/manage/article/display');
- $this->assertNoText(t('This layout is overridden. Click to revert to default settings.'));
- $settings = array(
- 'type' => 'article',
- 'title' => 'Exportable'
- );
- $node = $this->drupalCreateNode($settings);
- $this->drupalGet('node/' . $node->nid);
- $this->assertRaw('group-left', 'Left region found');
- $this->assertRaw('group-right', 'Right region found');
- $this->assertNoRaw('group-header', 'No header region found');
- $this->assertNoRaw('group-footer', 'No footer region found');
- $this->assertRaw('<h3><a href="'. url('node/1') . '" class="active">Exportable</a></h3>', t('Default title with h3 found'));
- $this->assertRaw('<a href="' . url('node/1') . '" class="active">Read more</a>', t('Default read more found'));
- // Override default layout.
- $layout = array(
- 'additional_settings[layout]' => 'ds_2col_stacked',
- );
- $assert = array(
- 'regions' => array(
- 'header' => '<td colspan="8">' . t('Header') . '</td>',
- 'left' => '<td colspan="8">' . t('Left') . '</td>',
- 'right' => '<td colspan="8">' . t('Right') . '</td>',
- 'footer' => '<td colspan="8">' . t('Footer') . '</td>',
- ),
- );
- $fields = array(
- 'fields[post_date][region]' => 'header',
- 'fields[author][region]' => 'left',
- 'fields[links][region]' => 'left',
- 'fields[body][region]' => 'right',
- 'fields[comments][region]' => 'footer',
- );
- $this->dsSelectLayout($layout, $assert);
- $this->assertText(t('This layout is overridden. Click to revert to default settings.'));
- $this->dsConfigureUI($fields);
- $this->drupalGet('node/' . $node->nid);
- $this->assertRaw('group-left', 'Left region found');
- $this->assertRaw('group-right', 'Left region found');
- $this->assertRaw('group-header', 'Left region found');
- $this->assertRaw('group-footer', 'Left region found');
- // Revert.
- $edit = array();
- $this->drupalPost('admin/structure/ds/revert-layout/node|article|default', $edit, t('Revert'), array('query' => array('destination' => 'admin/structure/types/manage/article/display')));
- $this->drupalGet('node/' . $node->nid);
- $this->assertRaw('group-left', 'Left region found');
- $this->assertRaw('group-right', 'Left region found');
- $this->assertNoRaw('group-header', 'Left region found');
- $this->assertNoRaw('group-footer', 'Left region found');
- $this->assertRaw('<h3><a href="'. url('node/1') . '" class="active">Exportable</a></h3>', t('Default title with h3 found'));
- $this->assertRaw('<a href="' . url('node/1') . '" class="active">Read more</a>', t('Default read more found'));
- }
- // Test custom field exportables.
- function testDSExportablesCustomFields() {
- $this->dsExportablesSetup();
- // Look for default custom field.
- $this->drupalGet('admin/structure/ds/fields');
- $this->assertText('Exportable field');
- $this->drupalGet('admin/structure/types/manage/article/display');
- $this->assertText('Exportable field');
- // Override custom field.
- // Update testing label
- $edit = array(
- 'name' => 'Overridden field',
- );
- $this->drupalPost('admin/structure/ds/fields/manage_custom/ds_exportable_field', $edit, t('Save'));
- $this->assertText(t('The field Overridden field has been saved'), t('Default exportable field label updated'));
- $this->assertText('Overridden field');
- $this->assertNoText('Exportable field');
- $this->drupalGet('admin/structure/types/manage/article/display');
- $this->assertText('Overridden field');
- $this->assertNoText('Exportable field');
- // Revert.
- $edit = array();
- $this->drupalPost('admin/structure/ds/fields/revert/ds_exportable_field', $edit, t('Revert'));
- $this->assertText('The field Overridden field has been reverted', t('Field reverted'));
- $this->assertText('Exportable field');
- $this->drupalGet('admin/structure/types/manage/article/display');
- $this->assertNoText('Overridden field');
- $this->assertText('Exportable field');
- }
- }
|