$this->state->
set('language_test.fallback_alter.candidates', FALSE
);
$this->state->
set('language_test.fallback_operation_alter.candidates', TRUE
);
$expected[] = LanguageInterface::LANGCODE_NOT_SPECIFIED;
$expected[] = LanguageInterface::LANGCODE_NOT_APPLICABLE;
$candidates =
$this->languageManager->
getFallbackCandidates(['operation' => 'test'
]);
$this->
assertEquals($expected,
array_values($candidates), 'Language fallback candidates are alterable for specific operations.'
);
// Check that when the site is monolingual no language fallback is applied.
/** @var \Drupal\Core\Config\Entity\ConfigEntityStorageInterface $configurable_language_storage */
$configurable_language_storage =
$this->container->
get('entity_type.manager'
)->
getStorage('configurable_language'
);
foreach ($language_list as $langcode =>
$language) { if (!
$language->
isDefault()) { $configurable_language_storage->
load($langcode)->
delete();
} } $candidates =
$this->languageManager->
getFallbackCandidates();
$this->
assertEquals([LanguageInterface::LANGCODE_DEFAULT
],
array_values($candidates), 'Language fallback is not applied when the Language module is not enabled.'
);
}}