public function AbstractAutocompleteSynonymsWebTestCase::testWidgetSettingsSuggestOnlyUnique in Synonyms 7
Test 'Suggest only one entry per term' setting of autocomplete widget.
File
- ./
synonyms.test, line 584 - Tests for the Synonyms module.
Class
- AbstractAutocompleteSynonymsWebTestCase
- Test "Synonyms friendly autocomplete" widget of Synonyms module.
Code
public function testWidgetSettingsSuggestOnlyUnique() {
// Testing disabled "Suggest only one entry per term" setting.
$this
->assertAutocompleteMenuPath($this
->entityLabel($this->terms['name_similar_synonym']), array(
$this
->entityLabel($this->terms['name_similar_synonym']) => $this
->entityLabel($this->terms['name_similar_synonym']),
$this
->entityLabel($this->terms['name_similar_synonym']) . ' ' => $this
->synonymAutocompleteResult($this->terms['name_similar_synonym'], $this->terms['name_similar_synonym']->{$this->fields['enabled']['field']['field_name']}[LANGUAGE_NONE][0]['value']),
), 'Both term and its synonym are shown when "Suggest only one entry per term" is off.');
$this
->assertAutocompleteMenuPath(drupal_substr($this->terms['similar_synonyms']->{$this->fields['enabled']['field']['field_name']}[LANGUAGE_NONE][0]['value'], 0, 8), array(
$this
->entityLabel($this->terms['similar_synonyms']) => $this
->synonymAutocompleteResult($this->terms['similar_synonyms'], $this->terms['similar_synonyms']->{$this->fields['enabled']['field']['field_name']}[LANGUAGE_NONE][0]['value']),
$this
->entityLabel($this->terms['similar_synonyms']) . ' ' => $this
->synonymAutocompleteResult($this->terms['similar_synonyms'], $this->terms['similar_synonyms']->{$this->fields['enabled']['field']['field_name']}[LANGUAGE_NONE][1]['value']),
), 'Multiple synonyms are shown when "Suggest only one entry per term" is off.');
// Testing enabled "Suggest only one entry per term" setting.
$this->reference_instance['widget']['settings']['suggest_only_unique'] = TRUE;
field_update_instance($this->reference_instance);
$this
->assertAutocompleteMenuPath($this
->entityLabel($this->terms['name_similar_synonym']), array(
$this
->entityLabel($this->terms['name_similar_synonym']) => $this
->entityLabel($this->terms['name_similar_synonym']),
), 'Only term is shown and synonym is not shown when "Suggest only one entry per term" is on.');
$this
->assertAutocompleteMenuPath(drupal_substr($this->terms['similar_synonyms']->{$this->fields['enabled']['field']['field_name']}[LANGUAGE_NONE][0]['value'], 0, 8), array(
$this
->entityLabel($this->terms['similar_synonyms']) => $this
->synonymAutocompleteResult($this->terms['similar_synonyms'], $this->terms['similar_synonyms']->{$this->fields['enabled']['field']['field_name']}[LANGUAGE_NONE][0]['value']),
), 'Only single synonym is shown when "Suggest only one entry per term" is on.');
}