Tests language field visibility features.
function testLanguageFieldVisibility() {
$langcode = LANGUAGE_NOT_SPECIFIED;
// Creates a node to test Language field visibility feature.
$edit = array(
'title' => $this
->randomName(8),
"body[{$langcode}][0][value]" => $this
->randomName(16),
);
$this
->drupalPost('node/add/article', $edit, t('Save'));
$node = $this
->drupalGetNodeByTitle($edit['title']);
$this
->assertTrue($node, 'Node found in database.');
// Loads node page and check if Language field is hidden by default.
$this
->drupalGet('node/' . $node->nid);
$language_field = $this
->xpath('//div[@id=:id]/div', array(
':id' => 'field-language-display',
));
$this
->assertTrue(empty($language_field), 'Language field value is not shown by default on node page.');
// Changes Language field visibility to true and check if it is saved.
$edit = array(
'fields[language][type]' => 'content',
);
$this
->drupalPost('admin/structure/types/manage/article/display', $edit, t('Save'));
$this
->drupalGet('admin/structure/types/manage/article/display');
$this
->assertOptionSelected('edit-fields-language-type', 'content', 'Language field has been set to visible.');
// Loads node page and check if Language field is shown.
$this
->drupalGet('node/' . $node->nid);
$language_field = $this
->xpath('//div[@id=:id]/div', array(
':id' => 'field-language-display',
));
$this
->assertFalse(empty($language_field), 'Language field value is shown on node page.');
}