sidepanel-run-count-settings.test.js 999 B

12345678910111213141516171819202122232425262728293031
  1. const test = require('node:test');
  2. const assert = require('node:assert/strict');
  3. const fs = require('node:fs');
  4. const sidepanelJs = fs.readFileSync('sidepanel/sidepanel.js', 'utf8');
  5. const sidepanelCss = fs.readFileSync('sidepanel/sidepanel.css', 'utf8');
  6. test('collectSettingsPayload persists autoRunTotalRuns from run count input', () => {
  7. assert.match(
  8. sidepanelJs,
  9. /autoRunTotalRuns:\s*getRunCountValue\(\)/
  10. );
  11. });
  12. test('run count input autosaves on input and blur', () => {
  13. assert.match(
  14. sidepanelJs,
  15. /inputRunCount\.addEventListener\('input',[\s\S]*markSettingsDirty\(true\);[\s\S]*scheduleSettingsAutoSave\(\);[\s\S]*\}\);/
  16. );
  17. assert.match(
  18. sidepanelJs,
  19. /inputRunCount\.addEventListener\('blur',[\s\S]*saveSettings\(\{\s*silent:\s*true\s*\}\)\.catch\(\(\)\s*=>\s*\{\s*\}\);[\s\S]*\}\);/
  20. );
  21. });
  22. test('run count input is wide enough for larger totals', () => {
  23. assert.match(
  24. sidepanelCss,
  25. /\.run-count-input\s*\{[\s\S]*width:\s*88px;/
  26. );
  27. });