Local absolute exercise-folder paths replaced with [exercise-folder]; test output otherwise unchanged.

✔ ordinary words (0.361114ms)
✖ leading and repeated whitespace (0.455935ms)
✖ punctuation (0.526996ms)
✖ existing hyphens (0.106192ms)
✖ Latin accents (0.06183ms)
✔ empty input (0.04595ms)
✖ tabs and newlines (0.068531ms)
✖ numbers and underscores (0.057331ms)
✖ non-Latin-only input (0.103401ms)
ℹ tests 9
ℹ suites 0
ℹ pass 2
ℹ fail 7
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 35.510215

✖ failing tests:

test at public/downloads/editor-exercise/slugify.test.mjs:7:3
✖ leading and repeated whitespace (0.455935ms)
  AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
  + actual - expected
  
  + '--hello---world--'
  - 'hello-world'
  
      at TestContext.<anonymous> (file://[exercise-folder]/slugify.test.mjs:7:35)
      at Test.runInAsyncScope (node:async_hooks:214:14)
      at Test.run (node:internal/test_runner/test:1106:25)
      at Test.processPendingSubtests (node:internal/test_runner/test:788:18)
      at Test.postRun (node:internal/test_runner/test:1235:19)
      at Test.run (node:internal/test_runner/test:1163:12)
      at async startSubtestAfterBootstrap (node:internal/test_runner/harness:358:3) {
    generatedMessage: true,
    code: 'ERR_ASSERTION',
    actual: '--hello---world--',
    expected: 'hello-world',
    operator: 'strictEqual',
    diff: 'simple'
  }

test at public/downloads/editor-exercise/slugify.test.mjs:7:3
✖ punctuation (0.526996ms)
  AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
  + actual - expected
  
  + 'hello,-world!'
  - 'hello-world'
          ^
  
      at TestContext.<anonymous> (file://[exercise-folder]/slugify.test.mjs:7:35)
      at Test.runInAsyncScope (node:async_hooks:214:14)
      at Test.run (node:internal/test_runner/test:1106:25)
      at Test.processPendingSubtests (node:internal/test_runner/test:788:18)
      at Test.postRun (node:internal/test_runner/test:1235:19)
      at Test.run (node:internal/test_runner/test:1163:12)
      at async Test.processPendingSubtests (node:internal/test_runner/test:788:7) {
    generatedMessage: true,
    code: 'ERR_ASSERTION',
    actual: 'hello,-world!',
    expected: 'hello-world',
    operator: 'strictEqual',
    diff: 'simple'
  }

test at public/downloads/editor-exercise/slugify.test.mjs:7:3
✖ existing hyphens (0.106192ms)
  AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
  + actual - expected
  
  + '--hello---world--'
  - 'hello-world'
  
      at TestContext.<anonymous> (file://[exercise-folder]/slugify.test.mjs:7:35)
      at Test.runInAsyncScope (node:async_hooks:214:14)
      at Test.run (node:internal/test_runner/test:1106:25)
      at Test.processPendingSubtests (node:internal/test_runner/test:788:18)
      at Test.postRun (node:internal/test_runner/test:1235:19)
      at Test.run (node:internal/test_runner/test:1163:12)
      at async Test.processPendingSubtests (node:internal/test_runner/test:788:7) {
    generatedMessage: true,
    code: 'ERR_ASSERTION',
    actual: '--hello---world--',
    expected: 'hello-world',
    operator: 'strictEqual',
    diff: 'simple'
  }

test at public/downloads/editor-exercise/slugify.test.mjs:7:3
✖ Latin accents (0.06183ms)
  AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
  + actual - expected
  
  + 'crème-brûlée'
  - 'creme-brulee'
       ^
  
      at TestContext.<anonymous> (file://[exercise-folder]/slugify.test.mjs:7:35)
      at Test.runInAsyncScope (node:async_hooks:214:14)
      at Test.run (node:internal/test_runner/test:1106:25)
      at Test.processPendingSubtests (node:internal/test_runner/test:788:18)
      at Test.postRun (node:internal/test_runner/test:1235:19)
      at Test.run (node:internal/test_runner/test:1163:12)
      at async Test.processPendingSubtests (node:internal/test_runner/test:788:7) {
    generatedMessage: true,
    code: 'ERR_ASSERTION',
    actual: 'crème-brûlée',
    expected: 'creme-brulee',
    operator: 'strictEqual',
    diff: 'simple'
  }

test at public/downloads/editor-exercise/slugify.test.mjs:7:3
✖ tabs and newlines (0.068531ms)
  AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
  + actual - expected
  
  + 'hello\tworld\nagain'
  - 'hello-world-again'
          ^
  
      at TestContext.<anonymous> (file://[exercise-folder]/slugify.test.mjs:7:35)
      at Test.runInAsyncScope (node:async_hooks:214:14)
      at Test.run (node:internal/test_runner/test:1106:25)
      at Test.processPendingSubtests (node:internal/test_runner/test:788:18)
      at Test.postRun (node:internal/test_runner/test:1235:19)
      at Test.run (node:internal/test_runner/test:1163:12)
      at async Test.processPendingSubtests (node:internal/test_runner/test:788:7) {
    generatedMessage: true,
    code: 'ERR_ASSERTION',
    actual: 'hello\tworld\nagain',
    expected: 'hello-world-again',
    operator: 'strictEqual',
    diff: 'simple'
  }

test at public/downloads/editor-exercise/slugify.test.mjs:7:3
✖ numbers and underscores (0.057331ms)
  AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
  + actual - expected
  
  + 'release_2026.09'
  - 'release-2026-09'
            ^
  
      at TestContext.<anonymous> (file://[exercise-folder]/slugify.test.mjs:7:35)
      at Test.runInAsyncScope (node:async_hooks:214:14)
      at Test.run (node:internal/test_runner/test:1106:25)
      at Test.processPendingSubtests (node:internal/test_runner/test:788:18)
      at Test.postRun (node:internal/test_runner/test:1235:19)
      at Test.run (node:internal/test_runner/test:1163:12)
      at async Test.processPendingSubtests (node:internal/test_runner/test:788:7) {
    generatedMessage: true,
    code: 'ERR_ASSERTION',
    actual: 'release_2026.09',
    expected: 'release-2026-09',
    operator: 'strictEqual',
    diff: 'simple'
  }

test at public/downloads/editor-exercise/slugify.test.mjs:7:3
✖ non-Latin-only input (0.103401ms)
  AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
  
  '東京' !== ''
  
      at TestContext.<anonymous> (file://[exercise-folder]/slugify.test.mjs:7:35)
      at Test.runInAsyncScope (node:async_hooks:214:14)
      at Test.run (node:internal/test_runner/test:1106:25)
      at Test.processPendingSubtests (node:internal/test_runner/test:788:18)
      at Test.postRun (node:internal/test_runner/test:1235:19)
      at Test.run (node:internal/test_runner/test:1163:12)
      at async Test.processPendingSubtests (node:internal/test_runner/test:788:7) {
    generatedMessage: true,
    code: 'ERR_ASSERTION',
    actual: '東京',
    expected: '',
    operator: 'strictEqual',
    diff: 'simple'
  }
