Parts of the language negotiation subsystem are not unit/kernel tested

Created on 22 April 2020, about 5 years ago
Updated 5 June 2025, 2 days ago

While functional tests are great, language negotiation is very complex, and a poorly understood bug introduced in one layer and fixed in another could easily slip by a functional test. And yet, there are huge gaps in the Unit and Kernel test coverage of language module. In particular:

  1. The Kernel\ConfigurableLanguageManagerTest class only covers getLanguageSwitchLinks and even that with an extremely short test method without any asserts.
  2. As far as I can see the LanguageNegotiator class is completely untested.
  3. Same is true for LanguageRequestSubscriber.
  4. LanguageNegotiationUrl has a unit test, the others don’t.

If there’s interest in fixing this, this issue probably needs to become a meta, with a large number of child issues.

🐛 Bug report
Status

Active

Version

11.0 🔥

Component

language system

Created by

🇨🇦Canada Charlie ChX Negyesi 🍁Canada

Live updates comments and jobs are added and updated live.
  • Needs issue summary update

    Issue summaries save everyone time if they are kept up-to-date. See Update issue summary task instructions.

Sign in to follow issues

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

  • 🇺🇸United States smustgrave

    Came up as a daily BSI target

    #1 ConfigurableLanguageManagerTest does still seem to be scare
    #2 there is LanguageNegotiatorPluginTest now wonder if that covers it
    #3 Quick search didn't find any test
    #4 Which are missing?

    Definitely still seems to be relevant

Production build 0.71.5 2024