public function JuiceboxConfCase::testConfigAdvanced in Juicebox HTML5 Responsive Image Galleries 7.2
Test common Advanced configuration logic for a Juicebox formatter.
File
- tests/
JuiceboxConfCase.test, line 100 - Test case for gallery-specific Juicebox configuration options.
Class
- JuiceboxConfCase
- Class to define test case for gallery-specific Juicebox configuration options.
Code
public function testConfigAdvanced() {
$instance = $this->instance;
$node = $this->node;
// Get the urls to the main image with and without "large" styling.
$items = field_get_items('node', $node, $instance['field_name']);
$item = reset($items);
$test_image_url = file_create_url($item['uri']);
$test_image_url_formatted = image_style_url('medium', $item['uri']);
// Check control case without custom configuration.
$this
->drupalGet('juicebox/xml/field/node/' . $node->nid . '/' . $instance['field_name'] . '/full');
$this
->assertRaw('linkTarget="_blank"', 'Default linkTarget setting found.');
$this
->assertRaw('linkURL="' . $test_image_url, 'Test unstyled image found in XML');
// Set new advanced options.
$this
->drupalPostAJAX('admin/structure/types/manage/' . $instance['bundle'] . '/display', array(), $instance['field_name'] . '_formatter_settings_edit', NULL, array(), array(), 'field-ui-display-overview-form');
$edit = array(
'fields[' . $instance['field_name'] . '][settings_edit_form][settings][image_style]' => 'medium',
'fields[' . $instance['field_name'] . '][settings_edit_form][settings][linkurl_source]' => 'image_styled',
'fields[' . $instance['field_name'] . '][settings_edit_form][settings][linkurl_target]' => '_self',
'fields[' . $instance['field_name'] . '][settings_edit_form][settings][custom_parent_classes]' => 'my-custom-wrapper',
);
$this
->drupalPost(NULL, $edit, t('Save'));
$this
->assertText(t('Your settings have been saved.'), 'Gallery configuration changes saved.');
// Check case with custom configuration.
$this
->drupalGet('juicebox/xml/field/node/' . $node->nid . '/' . $instance['field_name'] . '/full');
$this
->assertRaw('linkTarget="_self"', 'Updated linkTarget setting found in XML.');
$this
->assertRaw('linkURL="' . check_plain($test_image_url_formatted), 'Test styled image found in XML for linkURL.');
// Also check for custom class in embed code.
$this
->drupalGet('node/' . $node->nid);
$this
->assertRaw('class="juicebox-parent my-custom-wrapper"', 'Custom class found in embed code.');
}