# TODO
[x] add [[ https://www.mediawiki.org/wiki/Gerrit/Cross-repo_dependencies | Depends-On ]] to Wikibase commit [[ https://gerrit.wikimedia.org/r/c/mediawiki/extensions/Wikibase/+/604459 | 604459 ]]
[] update `[submodule "view/lib/wikibase-termbox"]` in [[ https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/extensions/Wikibase/+/refs/heads/master/.gitmodules#15 | .gitmodules ]] to point to local code from [[ https://gerrit.wikimedia.org/r/c/wikibase/termbox/+/622327 | 622327 ]] and run the tests locally
[] create a readme file explaining how the tests are running from Wikibase repository
[] Update to v6
---
Test specs failing in Wikibase due to wikibase-termbox:
```
00:38:39 [Chrome 73.0.3683.75 linux #0-5] Spec: /workspace/src/extensions/Wikibase/view/lib/wikibase-termbox/tests/selenium/specs/AnonEditWarning.spec.js
00:38:39 [Chrome 73.0.3683.75 linux #0-5] Running: Chrome (v73.0.3683.75) on linux
00:38:39 [Chrome 73.0.3683.75 linux #0-5] Session ID: f9d1b766-84bc-45db-af16-e461c3ecf156
00:38:39 [Chrome 73.0.3683.75 linux #0-5]
00:38:39 [Chrome 73.0.3683.75 linux #0-5] Termbox: AnonEditWarning
00:38:39 [Chrome 73.0.3683.75 linux #0-5] ✓ shows the warning overlay for anonymous users when clicking the edit button
00:38:39 [Chrome 73.0.3683.75 linux #0-5] ✓ can be dismissed
00:38:39 [Chrome 73.0.3683.75 linux #0-5] ✖ does not show the warning overlay again if the user opts out
00:38:39 [Chrome 73.0.3683.75 linux #0-5] ✖ never appears for logged in users
00:38:39 [Chrome 73.0.3683.75 linux #0-5]
00:38:39 [Chrome 73.0.3683.75 linux #0-5] 2 passing (7.7s)
00:38:39 [Chrome 73.0.3683.75 linux #0-5] 2 failing
00:38:39 [Chrome 73.0.3683.75 linux #0-5]
00:38:39 [Chrome 73.0.3683.75 linux #0-5] 1) Termbox: AnonEditWarning does not show the warning overlay again if the user opts out
00:38:39 [Chrome 73.0.3683.75 linux #0-5] Cannot destructure property `timeout` of 'undefined' or 'null'.
00:38:39 [Chrome 73.0.3683.75 linux #0-5] TypeError: Cannot destructure property `timeout` of 'undefined' or 'null'.
00:38:39 [Chrome 73.0.3683.75 linux #0-5] at Context.it (/workspace/src/extensions/Wikibase/view/lib/wikibase-termbox/tests/selenium/specs/AnonEditWarning.spec.js:40:42)
00:38:39 [Chrome 73.0.3683.75 linux #0-5]
00:38:39 [Chrome 73.0.3683.75 linux #0-5] 2) Termbox: AnonEditWarning never appears for logged in users
00:38:39 [Chrome 73.0.3683.75 linux #0-5] Cannot destructure property `timeout` of 'undefined' or 'null'.
00:38:39 [Chrome 73.0.3683.75 linux #0-5] TypeError: Cannot destructure property `timeout` of 'undefined' or 'null'.
00:38:39 [Chrome 73.0.3683.75 linux #0-5] at Context.it (/workspace/src/extensions/Wikibase/view/lib/wikibase-termbox/tests/selenium/specs/AnonEditWarning.spec.js:48:42)
00:38:39 [Chrome 73.0.3683.75 linux #0-6] Spec: /workspace/src/extensions/Wikibase/view/lib/wikibase-termbox/tests/selenium/specs/editing.spec.js
00:38:39 [Chrome 73.0.3683.75 linux #0-6] Running: Chrome (v73.0.3683.75) on linux
00:38:39 [Chrome 73.0.3683.75 linux #0-6] Session ID: 7015718a-b662-429b-9edd-83abb05a338b
00:38:39 [Chrome 73.0.3683.75 linux #0-6]
00:38:39 [Chrome 73.0.3683.75 linux #0-6] Termbox: editing
00:38:39 [Chrome 73.0.3683.75 linux #0-6] edit mode
00:38:39 [Chrome 73.0.3683.75 linux #0-6] ✓ is in edit mode after clicking the edit button
00:38:39 [Chrome 73.0.3683.75 linux #0-6] ✓ switches back to reading mode when clicking the cancel button
00:38:39 [Chrome 73.0.3683.75 linux #0-6]
00:38:39 [Chrome 73.0.3683.75 linux #0-6] editing
00:38:39 [Chrome 73.0.3683.75 linux #0-6] ✖ can edit labels, descriptions, and aliases
00:38:39 [Chrome 73.0.3683.75 linux #0-6] ✓ shows an error banner when an edit fails to save when the entity was protected while editing
00:38:39 [Chrome 73.0.3683.75 linux #0-6]
00:38:39 [Chrome 73.0.3683.75 linux #0-6] 3 passing (7.3s)
00:38:39 [Chrome 73.0.3683.75 linux #0-6] 1 failing
00:38:39 [Chrome 73.0.3683.75 linux #0-6]
00:38:39 [Chrome 73.0.3683.75 linux #0-6] 1) editing can edit labels, descriptions, and aliases
00:38:39 [Chrome 73.0.3683.75 linux #0-6] Input A expected to strictly equal input B:
00:38:39 + expected - actual
00:38:39
00:38:39 - '0.8059382490668245-Iñtërnâtiônàlizætiøn '
00:38:39 + '0.8059382490668245-Iñtërnâtiônàlizætiøn'
00:38:39 [Chrome 73.0.3683.75 linux #0-6] AssertionError [ERR_ASSERTION]: Input A expected to strictly equal input B:
00:38:39 [Chrome 73.0.3683.75 linux #0-6] + expected - actual
00:38:39 [Chrome 73.0.3683.75 linux #0-6]
00:38:39 [Chrome 73.0.3683.75 linux #0-6] - '0.8059382490668245-Iñtërnâtiônàlizætiøn '
00:38:39 [Chrome 73.0.3683.75 linux #0-6] + '0.8059382490668245-Iñtërnâtiônàlizætiøn'
00:38:39 [Chrome 73.0.3683.75 linux #0-6] at Context.it (/workspace/src/extensions/Wikibase/view/lib/wikibase-termbox/tests/selenium/specs/editing.spec.js:55:11)
.
.
00:38:39 [Chrome 73.0.3683.75 linux #0-8] Spec: /workspace/src/extensions/Wikibase/view/lib/wikibase-termbox/tests/selenium/specs/reading.spec.js
00:38:39 [Chrome 73.0.3683.75 linux #0-8] Running: Chrome (v73.0.3683.75) on linux
00:38:39 [Chrome 73.0.3683.75 linux #0-8] Session ID: 63b387d9-0a13-43fe-9488-18ad645a9446
00:38:39 [Chrome 73.0.3683.75 linux #0-8]
00:38:39 [Chrome 73.0.3683.75 linux #0-8] Termbox: reading
00:38:39 [Chrome 73.0.3683.75 linux #0-8] ✓ is in reading mode when opening the item page
00:38:39 [Chrome 73.0.3683.75 linux #0-8]
00:38:39 [Chrome 73.0.3683.75 linux #0-8] primary language terms
00:38:39 [Chrome 73.0.3683.75 linux #0-8] ✖ contains the expected language with respective terms
00:38:39 [Chrome 73.0.3683.75 linux #0-8]
00:38:39 [Chrome 73.0.3683.75 linux #0-8] "in more languages" section
00:38:39 [Chrome 73.0.3683.75 linux #0-8] ✓ has a collapse/expand button
00:38:39 [Chrome 73.0.3683.75 linux #0-8] ✓ is expanded by default
00:38:39 [Chrome 73.0.3683.75 linux #0-8] ✓ is collapsible, also hiding the "all entered languages" section
00:38:39 [Chrome 73.0.3683.75 linux #0-8] ✓ expands again when clicking the button twice
00:38:39 [Chrome 73.0.3683.75 linux #0-8] ✖ contains the expected languages with respective terms
00:38:39 [Chrome 73.0.3683.75 linux #0-8]
00:38:39 [Chrome 73.0.3683.75 linux #0-8] "all entered languages" section
00:38:39 [Chrome 73.0.3683.75 linux #0-8] ✓ is collapsed by default
00:38:39 [Chrome 73.0.3683.75 linux #0-8] ✓ has a collapse/expand button
00:38:39 [Chrome 73.0.3683.75 linux #0-8] ✓ is expandable
00:38:39 [Chrome 73.0.3683.75 linux #0-8] ✓ collapses again when clicking the button twice
00:38:39 [Chrome 73.0.3683.75 linux #0-8] ✖ contains the expected languages with respective terms
00:38:39 [Chrome 73.0.3683.75 linux #0-8]
00:38:39 [Chrome 73.0.3683.75 linux #0-8] 9 passing (13.3s)
00:38:39 [Chrome 73.0.3683.75 linux #0-8] 3 failing
00:38:39 [Chrome 73.0.3683.75 linux #0-8]
00:38:39 [Chrome 73.0.3683.75 linux #0-8] 1) primary language terms contains the expected language with respective terms
00:38:39 [Chrome 73.0.3683.75 linux #0-8] Input A expected to strictly equal input B:
00:38:39 + expected - actual
00:38:39
00:38:39 - '0.8178869500215433-Iñtërnâtiônàlizætiøn '
00:38:39 + '0.8178869500215433-Iñtërnâtiônàlizætiøn'
00:38:39 [Chrome 73.0.3683.75 linux #0-8] AssertionError [ERR_ASSERTION]: Input A expected to strictly equal input B:
00:38:39 [Chrome 73.0.3683.75 linux #0-8] + expected - actual
00:38:39 [Chrome 73.0.3683.75 linux #0-8]
00:38:39 [Chrome 73.0.3683.75 linux #0-8] - '0.8178869500215433-Iñtërnâtiônàlizætiøn '
00:38:39 [Chrome 73.0.3683.75 linux #0-8] + '0.8178869500215433-Iñtërnâtiônàlizætiøn'
00:38:39 [Chrome 73.0.3683.75 linux #0-8] at expectedTerms.aliases.(anonymous function).forEach (/workspace/src/extensions/Wikibase/view/lib/wikibase-termbox/tests/selenium/specs/reading.spec.js:17:10)
00:38:39 [Chrome 73.0.3683.75 linux #0-8] at Array.forEach (<anonymous>)
00:38:39 [Chrome 73.0.3683.75 linux #0-8] at assertMonolingualFingerprintHasTermsInLanguage (/workspace/src/extensions/Wikibase/view/lib/wikibase-termbox/tests/selenium/specs/reading.spec.js:16:36)
00:38:39 [Chrome 73.0.3683.75 linux #0-8] at Context.it (/workspace/src/extensions/Wikibase/view/lib/wikibase-termbox/tests/selenium/specs/reading.spec.js:59:4)
00:38:39 [Chrome 73.0.3683.75 linux #0-8]
00:38:39 [Chrome 73.0.3683.75 linux #0-8] 2) "in more languages" section contains the expected languages with respective terms
00:38:39 [Chrome 73.0.3683.75 linux #0-8] Input A expected to strictly equal input B:
00:38:39 + expected - actual
00:38:39
00:38:39 - '0.8685161752361819-Iñtërnâtiônàlizætiøn '
00:38:39 + '0.8685161752361819-Iñtërnâtiônàlizætiøn'
00:38:39 [Chrome 73.0.3683.75 linux #0-8] AssertionError [ERR_ASSERTION]: Input A expected to strictly equal input B:
00:38:39 [Chrome 73.0.3683.75 linux #0-8] + expected - actual
00:38:39 [Chrome 73.0.3683.75 linux #0-8]
00:38:39 [Chrome 73.0.3683.75 linux #0-8] - '0.8685161752361819-Iñtërnâtiônàlizætiøn '
00:38:39 [Chrome 73.0.3683.75 linux #0-8] + '0.8685161752361819-Iñtërnâtiônàlizætiøn'
00:38:39 [Chrome 73.0.3683.75 linux #0-8] at expectedTerms.aliases.(anonymous function).forEach (/workspace/src/extensions/Wikibase/view/lib/wikibase-termbox/tests/selenium/specs/reading.spec.js:17:10)
00:38:39 [Chrome 73.0.3683.75 linux #0-8] at Array.forEach (<anonymous>)
00:38:39 [Chrome 73.0.3683.75 linux #0-8] at assertMonolingualFingerprintHasTermsInLanguage (/workspace/src/extensions/Wikibase/view/lib/wikibase-termbox/tests/selenium/specs/reading.spec.js:16:36)
00:38:39 [Chrome 73.0.3683.75 linux #0-8] at expectedLanguages.forEach (/workspace/src/extensions/Wikibase/view/lib/wikibase-termbox/tests/selenium/specs/reading.spec.js:105:5)
00:38:39 [Chrome 73.0.3683.75 linux #0-8] at Array.forEach (<anonymous>)
00:38:39 [Chrome 73.0.3683.75 linux #0-8] at Context.it (/workspace/src/extensions/Wikibase/view/lib/wikibase-termbox/tests/selenium/specs/reading.spec.js:100:22)
00:38:39 [Chrome 73.0.3683.75 linux #0-8]
00:38:39 [Chrome 73.0.3683.75 linux #0-8] 3) "all entered languages" section contains the expected languages with respective terms
00:38:39 [Chrome 73.0.3683.75 linux #0-8] Input A expected to strictly equal input B:
00:38:39 + expected - actual
00:38:39
00:38:39 - '0.04503098562179941-Iñtërnâtiônàlizætiøn '
00:38:39 + '0.04503098562179941-Iñtërnâtiônàlizætiøn'
00:38:39 [Chrome 73.0.3683.75 linux #0-8] AssertionError [ERR_ASSERTION]: Input A expected to strictly equal input B:
00:38:39 [Chrome 73.0.3683.75 linux #0-8] + expected - actual
00:38:39 [Chrome 73.0.3683.75 linux #0-8]
00:38:39 [Chrome 73.0.3683.75 linux #0-8] - '0.04503098562179941-Iñtërnâtiônàlizætiøn '
00:38:39 [Chrome 73.0.3683.75 linux #0-8] + '0.04503098562179941-Iñtërnâtiônàlizætiøn'
00:38:39 [Chrome 73.0.3683.75 linux #0-8] at expectedTerms.aliases.(anonymous function).forEach (/workspace/src/extensions/Wikibase/view/lib/wikibase-termbox/tests/selenium/specs/reading.spec.js:17:10)
00:38:39 [Chrome 73.0.3683.75 linux #0-8] at Array.forEach (<anonymous>)
00:38:39 [Chrome 73.0.3683.75 linux #0-8] at assertMonolingualFingerprintHasTermsInLanguage (/workspace/src/extensions/Wikibase/view/lib/wikibase-termbox/tests/selenium/specs/reading.spec.js:16:36)
00:38:39 [Chrome 73.0.3683.75 linux #0-8] at expectedLanguages.forEach (/workspace/src/extensions/Wikibase/view/lib/wikibase-termbox/tests/selenium/specs/reading.spec.js:152:5)
00:38:39 [Chrome 73.0.3683.75 linux #0-8] at Array.forEach (<anonymous>)
00:38:39 [Chrome 73.0.3683.75 linux #0-8] at Context.it (/workspace/src/extensions/Wikibase/view/lib/wikibase-termbox/tests/selenium/specs/reading.spec.js:147:22)
```
Tests specs in Wikibase after upgrading wikibase-termbox
```
[Chrome 85.0.4183.83 darwin #0-5] Spec: /Users/vidhimody/mm/mediawiki/extensions/Wikibase/view/lib/wikibase-termbox/tests/selenium/specs/AnonEditWarning.spec.js
[Chrome 85.0.4183.83 darwin #0-5] Running: Chrome (v85.0.4183.83) on darwin
[Chrome 85.0.4183.83 darwin #0-5] Session ID: 51aabb20-5f01-4307-821f-4bb661e164e9
[Chrome 85.0.4183.83 darwin #0-5]
[Chrome 85.0.4183.83 darwin #0-5] Termbox: AnonEditWarning
[Chrome 85.0.4183.83 darwin #0-5] ✓ shows the warning overlay for anonymous users when clicking the edit button
[Chrome 85.0.4183.83 darwin #0-5] ✓ can be dismissed
[Chrome 85.0.4183.83 darwin #0-5] ✖ does not show the warning overlay again if the user opts out
[Chrome 85.0.4183.83 darwin #0-5] ✖ never appears for logged in users
[Chrome 85.0.4183.83 darwin #0-5]
[Chrome 85.0.4183.83 darwin #0-5] 2 passing (2m 6.2s)
[Chrome 85.0.4183.83 darwin #0-5] 2 failing
[Chrome 85.0.4183.83 darwin #0-5]
[Chrome 85.0.4183.83 darwin #0-5] 1) Termbox: AnonEditWarning does not show the warning overlay again if the user opts out
[Chrome 85.0.4183.83 darwin #0-5] element (".wb-ui-modal .wb-ui-anon-edit-warning") still not existing after 10000ms
[Chrome 85.0.4183.83 darwin #0-5] Error: element (".wb-ui-modal .wb-ui-anon-edit-warning") still not existing after 10000ms
[Chrome 85.0.4183.83 darwin #0-5] at processTicksAndRejections (internal/process/task_queues.js:97:5)
[Chrome 85.0.4183.83 darwin #0-5] at Context.<anonymous> (/Users/vidhimody/mm/mediawiki/extensions/Wikibase/view/lib/wikibase-termbox/tests/selenium/specs/AnonEditWarning.spec.js:40:42)
[Chrome 85.0.4183.83 darwin #0-5]
[Chrome 85.0.4183.83 darwin #0-5] 2) Termbox: AnonEditWarning never appears for logged in users
[Chrome 85.0.4183.83 darwin #0-5] Timeout of 60000ms exceeded. The execution in the test "Termbox: AnonEditWarning never appears for logged in users" took too long. Try to reduce the run time or increase your timeout for test specs (https://webdriver.io/docs/timeouts.html). (/Users/vidhimody/mm/mediawiki/extensions/Wikibase/view/lib/wikibase-termbox/tests/selenium/specs/AnonEditWarning.spec.js)
[Chrome 85.0.4183.83 darwin #0-5] Error: Timeout of 60000ms exceeded. The execution in the test "Termbox: AnonEditWarning never appears for logged in users" took too long. Try to reduce the run time or increase your timeout for test specs (https://webdriver.io/docs/timeouts.html). (/Users/vidhimody/mm/mediawiki/extensions/Wikibase/view/lib/wikibase-termbox/tests/selenium/specs/AnonEditWarning.spec.js)
[Chrome 85.0.4183.83 darwin #0-5] at Test.Runnable._timeoutError (/Users/vidhimody/mm/mediawiki/extensions/Wikibase/node_modules/mocha/lib/runnable.js:426:10)
[Chrome 85.0.4183.83 darwin #0-5] at Timeout.<anonymous> (/Users/vidhimody/mm/mediawiki/extensions/Wikibase/node_modules/mocha/lib/runnable.js:238:24)
[Chrome 85.0.4183.83 darwin #0-5] at listOnTimeout (internal/timers.js:549:17)
[Chrome 85.0.4183.83 darwin #0-5] at processTimers (internal/timers.js:492:7)
------------------------------------------------------------------
[Chrome 85.0.4183.83 darwin #0-6] Spec: /Users/vidhimody/mm/mediawiki/extensions/Wikibase/view/lib/wikibase-termbox/tests/selenium/specs/editing.spec.js
[Chrome 85.0.4183.83 darwin #0-6] Running: Chrome (v85.0.4183.83) on darwin
[Chrome 85.0.4183.83 darwin #0-6] Session ID: 4d2fe5c2-318b-4b1a-b366-27bba97f3e6c
[Chrome 85.0.4183.83 darwin #0-6]
[Chrome 85.0.4183.83 darwin #0-6] Termbox: editing
[Chrome 85.0.4183.83 darwin #0-6] edit mode
[Chrome 85.0.4183.83 darwin #0-6] ✓ is in edit mode after clicking the edit button
[Chrome 85.0.4183.83 darwin #0-6] ✓ switches back to reading mode when clicking the cancel button
[Chrome 85.0.4183.83 darwin #0-6]
[Chrome 85.0.4183.83 darwin #0-6] editing
[Chrome 85.0.4183.83 darwin #0-6] ✖ can edit labels, descriptions, and aliases
[Chrome 85.0.4183.83 darwin #0-6] ✓ shows an error banner when an edit fails to save when the entity was protected while editing
[Chrome 85.0.4183.83 darwin #0-6]
[Chrome 85.0.4183.83 darwin #0-6] 3 passing (2m 7.1s)
[Chrome 85.0.4183.83 darwin #0-6] 1 failing
[Chrome 85.0.4183.83 darwin #0-6]
[Chrome 85.0.4183.83 darwin #0-6] 1) editing can edit labels, descriptions, and aliases
[Chrome 85.0.4183.83 darwin #0-6] element (".wb-ui-event-emitting-button--edit") still not existing after 10000ms
[Chrome 85.0.4183.83 darwin #0-6] Error: element (".wb-ui-event-emitting-button--edit") still not existing after 10000ms
[Chrome 85.0.4183.83 darwin #0-6] at runMicrotasks (<anonymous>)
[Chrome 85.0.4183.83 darwin #0-6] at processTicksAndRejections (internal/process/task_queues.js:97:5)
[Chrome 85.0.4183.83 darwin #0-6] at TermboxPage.waitUntilSaved (/Users/vidhimody/mm/mediawiki/extensions/Wikibase/view/lib/wikibase-termbox/tests/selenium/pageobjects/Termbox.page.js:117:19)
[Chrome 85.0.4183.83 darwin #0-6] at Context.<anonymous> (/Users/vidhimody/mm/mediawiki/extensions/Wikibase/view/lib/wikibase-termbox/tests/selenium/specs/editing.spec.js:48:19)
.
.
[Chrome 85.0.4183.83 darwin #0-8] Spec: /Users/vidhimody/mm/mediawiki/extensions/Wikibase/view/lib/wikibase-termbox/tests/selenium/specs/reading.spec.js
[Chrome 85.0.4183.83 darwin #0-8] Running: Chrome (v85.0.4183.83) on darwin
[Chrome 85.0.4183.83 darwin #0-8] Session ID: 5ecfdb63-54f2-4c5b-b725-a6f60ee92f42
[Chrome 85.0.4183.83 darwin #0-8]
[Chrome 85.0.4183.83 darwin #0-8] Termbox: reading
[Chrome 85.0.4183.83 darwin #0-8] ✓ is in reading mode when opening the item page
[Chrome 85.0.4183.83 darwin #0-8]
[Chrome 85.0.4183.83 darwin #0-8] primary language terms
[Chrome 85.0.4183.83 darwin #0-8] ✓ contains the expected language with respective terms
[Chrome 85.0.4183.83 darwin #0-8]
[Chrome 85.0.4183.83 darwin #0-8] "in more languages" section
[Chrome 85.0.4183.83 darwin #0-8] ✓ has a collapse/expand button
[Chrome 85.0.4183.83 darwin #0-8] ✓ is expanded by default
[Chrome 85.0.4183.83 darwin #0-8] ✓ is collapsible, also hiding the "all entered languages" section
[Chrome 85.0.4183.83 darwin #0-8] ✓ expands again when clicking the button twice
[Chrome 85.0.4183.83 darwin #0-8] ✓ contains the expected languages with respective terms
[Chrome 85.0.4183.83 darwin #0-8]
[Chrome 85.0.4183.83 darwin #0-8] "all entered languages" section
[Chrome 85.0.4183.83 darwin #0-8] ✓ is collapsed by default
[Chrome 85.0.4183.83 darwin #0-8] ✓ has a collapse/expand button
[Chrome 85.0.4183.83 darwin #0-8] ✓ is expandable
[Chrome 85.0.4183.83 darwin #0-8] ✓ collapses again when clicking the button twice
[Chrome 85.0.4183.83 darwin #0-8] ✓ contains the expected languages with respective terms
[Chrome 85.0.4183.83 darwin #0-8]
[Chrome 85.0.4183.83 darwin #0-8] 12 passing (3m 43.6s)
```