Skip to content
Snippets Groups Projects
  • Benjamin Franzke's avatar
    [TASK] Migrate JavaScript unit test from karma to @web/test-runner · 432fb34e
    Benjamin Franzke authored
    Use @web/test-runner which is toolset by the modern-web.dev and
    open-wc.org initiatives. It is based on mocha and es-dev-server,
    which allows to run our JavaScript modules natively in the browser
    (without having to bundle them via rollup).
    
    Note that compiled test files have been removed from the
    source tree, since we configure es-dev-server to transpile
    them on demand, allowing error output from tests to be
    using original line numbers and unmangled identifiers.
    
    The tests are executed in chrome by default (locally and CI).
    They can be executed via:
    
      # Run once
      npm run test
    
      # Run tests whenever files change
      npm run watch:build
      npm run watch:test
    
      # Open browser with devtools and debug mode activated
      MODE=dev npm run watch:test -- --debug
    
    Configuration is prepared to run in multiple browsers via playwright.
    Example:
    
      # https://playwright.dev/docs/browsers#install-system-dependencies
      npx playwright install --with-deps
      BROWSERS=chrome,chromium,firefox,webkit npm run test
    
    Commands executed:
    
      npm remove \
        karma \
        karma-chrome-launcher \
        karma-coverage \
        karma-jasmine \
        karma-junit-reporter \
        karma-rollup-preprocessor \
        jasmine-core \
        @types/jasmine
    
      npm install --save-dev \
        @web/test-runner \
        @web/test-runner-playwright \
        @web/dev-server-import-maps \
        @web/dev-server-esbuild \
        @open-wc/testing \
        sinon
    
      git rm -rf \
        typo3/sysext/core/Tests/JavaScript \
        typo3/sysext/backend/Tests/JavaScript
    
      npm run build
    
    Resolves: #101960
    Releases: main, 12.4
    Change-Id: Ia2fa94a9f6d66664d9fce72e7443aaeb12e0ca08
    Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81096
    
    
    Tested-by: default avatarBenjamin Franzke <ben@bnf.dev>
    Tested-by: default avatarcore-ci <typo3@b13.com>
    Reviewed-by: default avatarBenjamin Franzke <ben@bnf.dev>
    432fb34e
.editorconfig 890 B