Skip to content

RES-Slim v0.3.9 — rewrite nightwatch test fixtures for RES-Slim modules

Choose a tag to compare

@SysAdminDoc SysAdminDoc released this 11 Apr 22:52

Housekeeping release. No runtime changes — only the stale nightwatch test suite gets rewritten.

What changed

The upstream RES tests/settingsConsole.js referenced modules that were stripped from this fork in v0.1.0: accountSwitcher, keepLoggedIn, quickMessage, wheelBrowse. The tests could not run against RES-Slim regardless of CI state — they were dead fixtures from the fork. A prior session had started updating selectors to match the v0.3.6 global-save layout but left the module references pointing at things that don't exist.

Remapped each test to a module that actually ships in RES-Slim:

Test Upstream module RES-Slim replacement
Boolean option accountSwitcher.keepLoggedIn commentDepth.commentPermalinks
Enum option accountSwitcher.dropDownStyle absoluteTimestamps.format (locale/iso)
Text option quickMessage.defaultSubject commentDepth.defaultCommentDepth
Table option accountSwitcher.accounts commentDepth.subredditCommentDepths
Disable module wheelBrowse autoExpand
Discard reset accountSwitcher.keepLoggedIn commentHighlights.borderOnly
Nested click #res:settings/accountSwitcher #res:settings/commentHighlights
Dependent option commentQuickCollapse.leftEdgeColor unchanged — this module survived

commentDepth was the only viable target for the table test because it's the only RES-Slim module with type: 'table' (the subredditCommentDepths table with list + text + text sub-fields). Table input IDs follow the ${optionKey}_${field.name}_${rowIndex} pattern — #subredditCommentDepths_commentDepthCommentDepth_1 for the first newly-added row, _0 for the persisted row after refresh.

Selectors already use the v0.3.6 global-save layout (#RESGlobalSave, #RESGlobalStageBar, #RESGlobalDiscard, .is-saved, .is-dirty). Nothing else to port.

Still no CI

The nightwatch suite has never been wired into a CI workflow and this release doesn't change that. The suite is kept in-tree for forward consistency — if someone revives the test infrastructure later, the selectors and module references will already be pointing at things that actually exist. Running it locally still requires nightwatch + a browser + a live reddit.com session.

Install

CRX (signed, auto-updates from prior RES-Slim CRX installs — same extension ID)

Download res-slim-chrome-v0.3.9.crx and drag into chrome://extensions with Developer mode enabled.

Zip (unpacked)

Download RES-Slim-v0.3.9-chrome.zip, extract, and load unpacked from chrome://extensions.

Verification

  • yarn once clean
  • yarn eslint tests/settingsConsole.js clean
  • npx flow check 0 errors