Page MenuHomePhabricator

Add ULS rewrite top-level component test
Closed, ResolvedPublic4 Estimated Story Points

Description

other tests can be found in T429115

This task focuses on top-level selector

  • visible state change 1307719
  • click-outside / escape / click close button 1307719
  • Mode-dependent behavior 1307847
  • Scroll Lock: Locking window scroll via classes when open in mobile mode 1309091
  • Density column: correct density class (uls-rewrite--density-low, medium, or high) 1309096
  • view panels switcher: Transitioning the view to the correct views and panel header titles. 1309634
  • Shows preferred / suggested languages 1309100
  • Search filtering 1311403
  • Accessibility - Screen-reader query announcements 1312484 1312488
  • Tab autocomplete trigger: active typeahead suggestion and fills it into the input. 1310527
  • Right arrow autocomplete trigger: active typeahead suggestion and fills it into the input. 1310527
  • Select event emitter: Clicking a language code in a list 1309619
  • Clicking an unavailable language code from the preferred list does not trigger any selection or emit events. 1309619
  • Keyboard navigation @keydown.down @Keydown.up @keydown.enter 1309168
  • Annotations (language direction) 1309638
  • ensure that correct language is highlighted 1309168
  • handling of variants 1311000
  • hide / show active language 1309676
  • (more to added)

Details

Related Changes in Gerrit:
SubjectAuthorRepoBranchLines +/-
Huei Tanmediawiki/extensions/UniversalLanguageSelectormaster+40 -0
Huei Tanmediawiki/extensions/UniversalLanguageSelectormaster+24 -0
Huei Tanmediawiki/extensions/UniversalLanguageSelectormaster+82 -0
Huei Tanmediawiki/extensions/UniversalLanguageSelectormaster+43 -0
Huei Tanmediawiki/extensions/UniversalLanguageSelectormaster+47 -0
Huei Tanmediawiki/extensions/UniversalLanguageSelectormaster+4 -1
Abijeet Patromediawiki/extensions/UniversalLanguageSelectormaster+98 -2
Abijeet Patromediawiki/extensions/UniversalLanguageSelectormaster+35 -0
Huei Tanmediawiki/extensions/UniversalLanguageSelectormaster+18 -0
Huei Tanmediawiki/extensions/UniversalLanguageSelectormaster+18 -0
Huei Tanmediawiki/extensions/UniversalLanguageSelectormaster+21 -11
Abijeet Patromediawiki/extensions/UniversalLanguageSelectormaster+56 -0
Abijeet Patromediawiki/extensions/UniversalLanguageSelectormaster+26 -0
Abijeet Patromediawiki/extensions/UniversalLanguageSelectormaster+149 -0
Huei Tanmediawiki/extensions/UniversalLanguageSelectormaster+35 -0
Huei Tanmediawiki/extensions/UniversalLanguageSelectormaster+66 -52
Huei Tanmediawiki/extensions/UniversalLanguageSelectormaster+79 -2
Huei Tanmediawiki/extensions/UniversalLanguageSelectormaster+78 -1
Huei Tanmediawiki/extensions/UniversalLanguageSelectormaster+107 -5
Huei Tanmediawiki/extensions/UniversalLanguageSelectormaster+72 -0
Huei Tanmediawiki/extensions/UniversalLanguageSelectormaster+177 -0
Huei Tanmediawiki/extensions/UniversalLanguageSelectormaster+131 -0
Huei Tanmediawiki/extensions/UniversalLanguageSelectormaster+100 -1
Huei Tanmediawiki/extensions/UniversalLanguageSelectormaster+140 -0
Huei Tanmediawiki/extensions/UniversalLanguageSelectormaster+165 -1
Huei Tanmediawiki/extensions/UniversalLanguageSelectormaster+59 -0
Huei Tanmediawiki/extensions/UniversalLanguageSelectormaster+87 -0
Huei Tanmediawiki/extensions/UniversalLanguageSelectormaster+157 -0
Huei Tanmediawiki/extensions/UniversalLanguageSelectormaster+419 -71
Show related patches Customize query in gerrit

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

Change #1307719 had a related patch set uploaded (by Huei Tan; author: Huei Tan):

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: init ULS view test spec

https://gerrit.wikimedia.org/r/1307719

Change #1307847 had a related patch set uploaded (by Huei Tan; author: Huei Tan):

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: test mode behaviour on ULS component

https://gerrit.wikimedia.org/r/1307847

hueitan updated the task description. (Show Details)

Change #1309091 had a related patch set uploaded (by Huei Tan; author: Huei Tan):

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: add scroll lock test spec

https://gerrit.wikimedia.org/r/1309091

Change #1309096 had a related patch set uploaded (by Huei Tan; author: Huei Tan):

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: add density column test spec

https://gerrit.wikimedia.org/r/1309096

Change #1309100 had a related patch set uploaded (by Huei Tan; author: Huei Tan):

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: add suggestions and preferred languages test spec

https://gerrit.wikimedia.org/r/1309100

Change #1307719 merged by jenkins-bot:

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: init ULS view test spec

https://gerrit.wikimedia.org/r/1307719

few more things to test:

  • Annotations (language direction)
  • ensure that correct language is highlighted
  • handling of variants
  • hide / show active language

Change #1309168 had a related patch set uploaded (by Huei Tan; author: Huei Tan):

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: add keyboard navigation test spec

https://gerrit.wikimedia.org/r/1309168

Change #1307847 merged by jenkins-bot:

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: test mode behaviour on ULS component

https://gerrit.wikimedia.org/r/1307847

Change #1309619 had a related patch set uploaded (by Huei Tan; author: Huei Tan):

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: Add select event tests for language list

https://gerrit.wikimedia.org/r/1309619

Change #1309634 had a related patch set uploaded (by Huei Tan; author: Huei Tan):

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: Add view panels switcher tests

https://gerrit.wikimedia.org/r/1309634

Change #1309638 had a related patch set uploaded (by Huei Tan; author: Huei Tan):

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: Add unit tests for language annotations

https://gerrit.wikimedia.org/r/1309638

Change #1309676 had a related patch set uploaded (by Huei Tan; author: Huei Tan):

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: add hideActiveLanguages prop test spec

https://gerrit.wikimedia.org/r/1309676

Change #1309091 merged by jenkins-bot:

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: add scroll lock test spec

https://gerrit.wikimedia.org/r/1309091

Change #1309096 merged by jenkins-bot:

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: add density column test spec

https://gerrit.wikimedia.org/r/1309096

Change #1309638 merged by jenkins-bot:

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: Add language annotations unit test

https://gerrit.wikimedia.org/r/1309638

Change #1309619 merged by jenkins-bot:

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: Add select event tests for language list

https://gerrit.wikimedia.org/r/1309619

Change #1309676 merged by jenkins-bot:

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: add hideActiveLanguages prop test spec

https://gerrit.wikimedia.org/r/1309676

Change #1309634 merged by jenkins-bot:

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: Add view panels switcher tests

https://gerrit.wikimedia.org/r/1309634

Change #1309100 merged by jenkins-bot:

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: add suggestions and preferred languages test spec

https://gerrit.wikimedia.org/r/1309100

Change #1309168 merged by jenkins-bot:

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: add keyboard navigation test spec

https://gerrit.wikimedia.org/r/1309168

Change #1310463 had a related patch set uploaded (by Huei Tan; author: Huei Tan):

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: add keyboard page up and down test spec

https://gerrit.wikimedia.org/r/1310463

Change #1310527 had a related patch set uploaded (by Huei Tan; author: Huei Tan):

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: add keyboard tab, right, esc test spec

https://gerrit.wikimedia.org/r/1310527

Change #1311000 had a related patch set uploaded (by Huei Tan; author: Huei Tan):

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: add the variants test spec

https://gerrit.wikimedia.org/r/1311000

Change #1311000 merged by jenkins-bot:

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: add the variants test spec

https://gerrit.wikimedia.org/r/1311000

Change #1311070 had a related patch set uploaded (by Huei Tan; author: Huei Tan):

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: add PreferredLanguagesTab test spec

https://gerrit.wikimedia.org/r/1311070

Change #1311070 merged by jenkins-bot:

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: add PreferredLanguagesTab test spec

https://gerrit.wikimedia.org/r/1311070

Change #1310463 merged by jenkins-bot:

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: add keyboard page up and down test spec

https://gerrit.wikimedia.org/r/1310463

Change #1310527 merged by jenkins-bot:

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: add keyboard tab, right, esc test spec

https://gerrit.wikimedia.org/r/1310527

Change #1311403 had a related patch set uploaded (by Huei Tan; author: Huei Tan):

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: add more search results test spec

https://gerrit.wikimedia.org/r/1311403

Change #1311403 merged by jenkins-bot:

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: add more search results test spec

https://gerrit.wikimedia.org/r/1311403

Change #1311746 had a related patch set uploaded (by Abijeet Patro; author: Abijeet Patro):

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: Add more tests for close event & enter key

https://gerrit.wikimedia.org/r/1311746

Change #1311747 had a related patch set uploaded (by Abijeet Patro; author: Abijeet Patro):

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: Add tests for language display sorting

https://gerrit.wikimedia.org/r/1311747

Change #1311748 had a related patch set uploaded (by Abijeet Patro; author: Abijeet Patro):

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: Add tests for all languages title

https://gerrit.wikimedia.org/r/1311748

Change #1311746 merged by jenkins-bot:

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: Add more tests for close event & enter key

https://gerrit.wikimedia.org/r/1311746

Change #1311747 merged by jenkins-bot:

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: Add tests for language display sorting

https://gerrit.wikimedia.org/r/1311747

Change #1311748 merged by jenkins-bot:

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: Add tests for all languages title

https://gerrit.wikimedia.org/r/1311748

Change #1312465 had a related patch set uploaded (by Huei Tan; author: Huei Tan):

[mediawiki/extensions/UniversalLanguageSelector@master] PreferredLanguagesTab: add 100% test coverage

https://gerrit.wikimedia.org/r/1312465

Change #1312470 had a related patch set uploaded (by Huei Tan; author: Huei Tan):

[mediawiki/extensions/UniversalLanguageSelector@master] LanguageSettingsEntrypoint: add 100% test coverage

https://gerrit.wikimedia.org/r/1312470

Change #1312481 had a related patch set uploaded (by Huei Tan; author: Huei Tan):

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: add 100% test coverage for index.js

https://gerrit.wikimedia.org/r/1312481

Change #1312484 had a related patch set uploaded (by Abijeet Patro; author: Abijeet Patro):

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: Add axe accessibility tests

https://gerrit.wikimedia.org/r/1312484

Change #1312488 had a related patch set uploaded (by Abijeet Patro; author: Abijeet Patro):

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: Add listbox id wiring tests

https://gerrit.wikimedia.org/r/1312488

Change #1312465 merged by jenkins-bot:

[mediawiki/extensions/UniversalLanguageSelector@master] PreferredLanguagesTab: add 100% test coverage

https://gerrit.wikimedia.org/r/1312465

Change #1312481 merged by jenkins-bot:

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: add 100% test coverage for index.js

https://gerrit.wikimedia.org/r/1312481

Change #1312470 merged by jenkins-bot:

[mediawiki/extensions/UniversalLanguageSelector@master] LanguageSettingsEntrypoint: add 100% test coverage

https://gerrit.wikimedia.org/r/1312470

Change #1312484 merged by jenkins-bot:

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: Add axe accessibility tests

https://gerrit.wikimedia.org/r/1312484

Change #1312488 merged by jenkins-bot:

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: Add listbox id wiring tests

https://gerrit.wikimedia.org/r/1312488

Change #1313097 had a related patch set uploaded (by Huei Tan; author: Huei Tan):

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: add 100% coverage for LanguageList

https://gerrit.wikimedia.org/r/1313097

current remaining missing coverage of ULS.vue

Line(s)Feature AreaTechnical Description

E2E browser tests related code that i would like to skip in the Unit test

Line(s)Feature AreaTechnical Description
392, 1006-1007, 1025-1026Legacy Media QueryFallback handler for mobileMediaQuery.addListener / removeListener (Safari < 14)
570-571Scroll Into ViewGuard clause in scrollHighlightedIntoView when highlightedItem is null
903-910, 914-916IME PositioningrepositionImeSelector() for repositioning IME selector on floating layout changes
925-928Focus Input GuardAsync promise wait in focusInput() until Floating UI isPositioned resolves
1016-1017Layout MeasurementInitial rowHeight measurement from DOM element (firstItem.offsetHeight) on mount
457-458, 467-468Variants FallbackFallback handling when variantLanguageCode is null or has no associated variants (NOTE: the section is never rendered, variantsTitle and currentVariantAnnotations are never accessed, making their if ( !code ) fallback branches unreachable.)

Change #1313195 had a related patch set uploaded (by Huei Tan; author: Huei Tan):

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: test when selecting an unavailable language code

https://gerrit.wikimedia.org/r/1313195

Change #1313336 had a related patch set uploaded (by Huei Tan; author: Huei Tan):

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: add progressive integration test

https://gerrit.wikimedia.org/r/1313336

Change #1313195 merged by jenkins-bot:

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: test when selecting an unavailable language code

https://gerrit.wikimedia.org/r/1313195

Change #1313336 merged by jenkins-bot:

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: add progressive rendering integration test

https://gerrit.wikimedia.org/r/1313336

Change #1314731 had a related patch set uploaded (by Huei Tan; author: Huei Tan):

[mediawiki/extensions/UniversalLanguageSelector@master] ULS.a11y.test: add searchStatus test

https://gerrit.wikimedia.org/r/1314731

Change #1314733 had a related patch set uploaded (by Huei Tan; author: Huei Tan):

[mediawiki/extensions/UniversalLanguageSelector@master] ULS.keyboard.test: Add test for defaultPrevented tab key handling

https://gerrit.wikimedia.org/r/1314733

Change #1314743 had a related patch set uploaded (by Huei Tan; author: Huei Tan):

[mediawiki/extensions/UniversalLanguageSelector@master] ULS.highlight.test: Add test for setHighlightedIndex helper

https://gerrit.wikimedia.org/r/1314743

Change #1314743 merged by jenkins-bot:

[mediawiki/extensions/UniversalLanguageSelector@master] ULS.highlight.test: Add test for setHighlightedIndex helper

https://gerrit.wikimedia.org/r/1314743

Change #1313097 merged by jenkins-bot:

[mediawiki/extensions/UniversalLanguageSelector@master] ULS rewrite: add 100% coverage for LanguageList

https://gerrit.wikimedia.org/r/1313097

Change #1314733 merged by jenkins-bot:

[mediawiki/extensions/UniversalLanguageSelector@master] ULS.keyboard.test: Add test for defaultPrevented tab key handling

https://gerrit.wikimedia.org/r/1314733

Change #1314731 merged by jenkins-bot:

[mediawiki/extensions/UniversalLanguageSelector@master] ULS.a11y.test: add searchStatus test for screen reader announcements

https://gerrit.wikimedia.org/r/1314731

I think we have good coverage, and all the tests have been passing on CI for the last week:

----------------------------------|---------|----------|---------|---------|---------------------------------------------------------------------
File                              | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s                                                   
----------------------------------|---------|----------|---------|---------|---------------------------------------------------------------------
All files                         |   99.03 |    97.08 |   96.39 |   99.03 |                                                                     
 ext.uls.rewrite                  |    98.4 |    95.01 |    93.1 |    98.4 |                                                                     
  EntrypointRegistry.js           |     100 |      100 |     100 |     100 |                                                                     
  LanguageList.vue                |     100 |      100 |     100 |     100 |                                                                     
  LanguageSelectorPanelHeader.vue |     100 |      100 |     100 |     100 |                                                                     
  LanguageSettingsEntrypoint.js   |     100 |      100 |     100 |     100 |                                                                     
  PreferredLanguagesTab.vue       |     100 |      100 |     100 |     100 |                                                                     
  UniversalLanguageSelector.vue   |   97.46 |    92.93 |   86.66 |   97.46 | ...68,570-571,903-910,914-916,925-928,1006-1007,1016-1017,1025-1026 
  index.js                        |     100 |      100 |     100 |     100 |                                                                     
 ext.uls.rewrite/composables      |     100 |      100 |     100 |     100 |                                                                     
  useClickOutside.js              |     100 |      100 |     100 |     100 |                                                                     
  useCountryCode.js               |     100 |      100 |     100 |     100 |                                                                     
  useEntrypointActions.js         |     100 |      100 |     100 |     100 |                                                                     
  useEntrypoints.js               |     100 |      100 |     100 |     100 |                                                                     
  useFocusTrap.js                 |     100 |      100 |     100 |     100 |                                                                     
  useKeyboardNavigation.js        |     100 |      100 |     100 |     100 |                                                                     
  useLanguageHistory.js           |     100 |      100 |     100 |     100 |                                                                     
  usePreferredLanguages.js        |     100 |      100 |     100 |     100 |                                                                     
  useProgressiveRender.js         |     100 |      100 |     100 |     100 |                                                                     
  useSuggestedLanguages.js        |     100 |      100 |     100 |     100 |                                                                     
  useTypeahead.js                 |     100 |      100 |     100 |     100 |                                                                     
 ext.uls.rewrite/entrypoints      |     100 |      100 |     100 |     100 |                                                                     
  EmptyListEntrypoint.vue         |     100 |      100 |     100 |     100 |                                                                     
  EmptySearchEntrypoint.vue       |     100 |      100 |     100 |     100 |                                                                     
  EntrypointActionButton.vue      |     100 |      100 |     100 |     100 |                                                                     
  MissingLanguagesEntrypoint.vue  |     100 |      100 |     100 |     100 |                                                                     
  MissingLanguagesPanel.vue       |     100 |      100 |     100 |     100 |                                                                     
  QuickActionTrigger.vue          |     100 |      100 |     100 |     100 |                                                                     
  QuickActionsPanel.vue           |     100 |      100 |     100 |     100 |                                                                     
----------------------------------|---------|----------|---------|---------|---------------------------------------------------------------------

Test Suites: 39 passed, 39 total
Tests:       207 passed, 207 total
Snapshots:   0 total
Time:        3.408 s

There is nothing else to QA, so I'm inclined to mark this as done.

Thanks @hueitan