Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: karma-runner/karma
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: b8b8618b08acf14e3e4d435904029fe7a18134f3
Choose a base ref
...
head repository: karma-runner/karma
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 16010eb53d184dd88cbb8724b5ed566609310c0c
Choose a head ref

Commits on Dec 28, 2018

  1. Copy the full SHA
    02f071d View commit details
  2. Copy the full SHA
    51007b1 View commit details

Commits on Dec 31, 2018

  1. Copy the full SHA
    b05a54e View commit details

Commits on Jan 1, 2019

  1. Copy the full SHA
    1a57029 View commit details
  2. chore: remove support for node 6 (#3246)

    Set node 8 as minimal supported version.
    
    Closes #3151
    BREAKING CHANGE:
    Drop Support for Node 6, to make it possible to use async/await in karma codebase.
    lusarz authored and johnjbarton committed Jan 1, 2019
    Copy the full SHA
    8a83990 View commit details
  3. Copy the full SHA
    acdd2dc View commit details

Commits on Jan 4, 2019

  1. Copy the full SHA
    376142e View commit details

Commits on Jan 18, 2019

  1. fix(client): fix issue with loaded on safari 10 (#3252)

    Safari 10 supports type=module but ignores nomodule which causes loaded() to execute twice.
    
    Fixes #3198
    curquhart authored and johnjbarton committed Jan 18, 2019
    Copy the full SHA
    571191c View commit details
  2. Copy the full SHA
    988b901 View commit details

Commits on Jan 22, 2019

  1. refactor(watcher): Make watcher injectable to support 3rd-party watch…

    …ers (#3254)
    
    Over the years, there has been several suggestions to make the default
    watcher in Karma (that uses chokidar) dependency injectable so that
    Karma could work well with third-party watchers.
    
    Prior issues:
    1. #1468
    2. #2895
    
    Candidate third-party watchers include:
    1. Watcher for Broccoli
    2. Watcher for Bazel
    3. Watcher for Blaze (used internally at Google)
    
    This commit makes the change to allow other Karma plugins to specify the
    'watcher' value in the di system and Karma would use the supplied
    watcher instead.
    Keen Yee Liau authored and johnjbarton committed Jan 22, 2019
    Copy the full SHA
    d59cf35 View commit details

Commits on Jan 23, 2019

  1. Copy the full SHA
    56cc239 View commit details
  2. chore: release v4.0.0

    johnjbarton committed Jan 23, 2019
    Copy the full SHA
    5a47718 View commit details

Commits on Jan 25, 2019

  1. Copy the full SHA
    bd95d89 View commit details

Commits on Feb 4, 2019

  1. fix(launcher): Debug Child Processes exit signal (#3259)

    The Child Processes Event: 'exit' has two parameters: code and signal
    (https://nodejs.org/api/child_process.html#child_process_event_exit).
    One of the two will always be non-null. This helps debugging cases where
    code is null.
    webmaster128 authored and johnjbarton committed Feb 4, 2019
    Copy the full SHA
    c277a6b View commit details

Commits on Feb 13, 2019

  1. fix(browser): allow updating total specs count (#3264)

    * fix(browser): allow updating total specs count
    
    This change allows providing the total specs count after the tests have
    been started.
    The count will be updated in case it has been provided already.
    This can be uselful for some adapters where the total specs count can
    not be determined before starting the first test.
    
    fix onInfo test case, add new test for total update
    matz3 authored and johnjbarton committed Feb 13, 2019
    Copy the full SHA
    d5df723 View commit details

Commits on Feb 19, 2019

  1. fix: remove vulnerable dependency expand-braces (#3270)

    Remove `expand-braces` as a dependency. Use `braces.expand` instead
    now.
    
    Fixes #3268
    Fixes #3269
    SteinRobert authored and johnjbarton committed Feb 19, 2019
    Copy the full SHA
    4ec4f6f View commit details

Commits on Feb 20, 2019

  1. fix: remove vulnerable dependency combine-lists (#3273)

    Remove `combine-lists` as a dependency. Use `_.union` instead now.
    
    Fixes #3265
    SteinRobert authored and johnjbarton committed Feb 20, 2019
    Copy the full SHA
    c43f584 View commit details

Commits on Feb 21, 2019

  1. fix(filelist): correct logger name. (#3262)

    Append the state of the browser if it gets lost.
    johnjbarton authored Feb 21, 2019
    Copy the full SHA
    375bb5e View commit details

Commits on Feb 28, 2019

  1. Copy the full SHA
    c190c4a View commit details
  2. chore: release v4.0.1

    johnjbarton committed Feb 28, 2019
    Copy the full SHA
    c7ebf0b View commit details

Commits on Apr 5, 2019

  1. Copy the full SHA
    7eb48c5 View commit details

Commits on Apr 12, 2019

  1. Copy the full SHA
    6556ab4 View commit details
  2. fix(client): Enable loading different file types when running in pare…

    …nt mode without iframe (#3289)
    
    * fix(client): Includes attributes like type in script tags when running in parent mode without iframe
    
    Back in #2542, a third option to run tests without iframe is implemented, mostly for lightweight browser. It only allows script element to be loaded dynamically. This fix includes file type like .css to be loaded properly.
    
    Fixes #3289
    chan1cyrus2 authored and johnjbarton committed Apr 12, 2019
    Copy the full SHA
    7968db6 View commit details

Commits on Apr 15, 2019

  1. Copy the full SHA
    ce6825f View commit details
  2. Copy the full SHA
    d844a48 View commit details
  3. chore: release v4.1.0

    johnjbarton committed Apr 15, 2019
    Copy the full SHA
    13ed695 View commit details

Commits on Apr 23, 2019

  1. fix(server): Add error handler for webserver socket. (#3300)

    Some times connection arrive, are given 404 responses, then disconnect,
    resulting in ECONNRESET errors on the socket.  After we began monitoring
    UncaughtExceptions, these errors show up. Suppress them with a handler
    that ignores errors.
    johnjbarton authored Apr 23, 2019
    Copy the full SHA
    fe9a1dd View commit details

Commits on May 15, 2019

  1. chore: update braces and chokidar to latest versions (#3307)

    This results in a significant dependencies reduction. New version of
    chokidar also promises significant memory and performance improvements.
    devoto13 authored and johnjbarton committed May 15, 2019
    Copy the full SHA
    7828bea View commit details

Commits on May 17, 2019

  1. Cleanup dependencies (#3309)

    * chore: remove unused devDependencies
    
    * chore: update some devDependencies
    devoto13 authored and johnjbarton committed May 17, 2019
    Copy the full SHA
    7f40349 View commit details

Commits on May 23, 2019

  1. chore(test): fix flaky test cases (#3314)

    * fix(test): fixed flaky reconnecting test
    
    cc2eff2 introduced different behavior depending on whether socket reconnected or browser reconnected after reload. This lead to the reconnecting test being flaky as, depending on the timing, it will trigger second test run and result in unexpected output.
    
    * fix(test): remove broken monitor action for Cucumber
    
    The issue is that it resulted in the following sequence of actions:
    - run karma start
    - run karma run
    - and then instantly kill karma start command
    
    This resulted in flaky tests because the kill could race, resulting in
    incomplete output. In fact test was unnecessary complicated as it was
    enough to use runOut, which asserts output of the karma run command.
    
    * fix(test): guard from repeated executions of the karma run
    
    'data' event handler may be called multiple times, which will result in
    multiple calls to karma run. To take it even further, its execution is
    delayed by setTimeout, which means that subsequent executions will run
    while next test scenario is in progress and may mess it up. To prevent
    this make sure that karma run is executed only once independently of how
    many time 'data' event is fired.
    devoto13 authored and johnjbarton committed May 23, 2019
    Copy the full SHA
    1205bce View commit details

Commits on May 25, 2019

  1. chore: revert back to Mocha 4 (#3313)

    Mocha 5+ dropped support for IE 8 and IE 9. This leads to failing
    BrowserStack tests, so reverting back to version 4 until Karma decides
    to drop support for the mentioned browsers.
    devoto13 authored and johnjbarton committed May 25, 2019
    Copy the full SHA
    5e11340 View commit details

Commits on Jun 3, 2019

  1. Copy the full SHA
    3aea7ec View commit details

Commits on Jun 4, 2019

  1. Copy the full SHA
    f0c4677 View commit details

Commits on Jun 17, 2019

  1. fix(reporter): format stack with 1-based column (#3325)

    Columns in original stack are 1-based, but
    SourceMapConsumer.prototype.originalPositionFor(generatedPosition)
    accepts 0-based column and returns 0-based column too.
    This change converts columns from 1-based to 0-based forth and back.
    
    Closes #3324
    segrey authored and johnjbarton committed Jun 17, 2019
    Copy the full SHA
    182c04d View commit details

Commits on Jul 1, 2019

  1. fix typo: (#3334)

    thijstriemstra authored and johnjbarton committed Jul 1, 2019
    Copy the full SHA
    1087926 View commit details

Commits on Jul 12, 2019

  1. fix(logging): Util inspect for logging the config. (#3332)

    While flatten is accruate and works with circular data, it's too hard to read.
    johnjbarton authored Jul 12, 2019
    Copy the full SHA
    70b72a9 View commit details
  2. Copy the full SHA
    a1049c6 View commit details
  3. Copy the full SHA
    db1ea57 View commit details
  4. chore: release v4.2.0

    johnjbarton committed Jul 12, 2019
    Copy the full SHA
    42933c9 View commit details
  5. Copy the full SHA
    177e2ef View commit details

Commits on Jul 17, 2019

  1. fix(deps): lodash update. (#3341)

    From npm audit fix --force
    johnjbarton authored Jul 17, 2019
    Copy the full SHA
    5614c04 View commit details

Commits on Jul 26, 2019

  1. Copy the full SHA
    094bcc6 View commit details
  2. fix(test): test:client silently failing on Travis (#3343)

    * fix(test): ensure that grunt test:client exits with non-zero code
    
    Apparently it is not enough to check `code`, because when process
    crashes `code` is set to `null` and `err` is passed instead.
    
    Example of failing tests, which didn't fail build:
    https://travis-ci.org/karma-runner/karma/jobs/537027667#L1046
    
    * fix(test): adjust assertions to work in latest Chrome
    devoto13 authored and johnjbarton committed Jul 26, 2019
    Copy the full SHA
    1489e9a View commit details
  3. Copy the full SHA
    582a406 View commit details

Commits on Jul 30, 2019

  1. feat(runner):

    * feat(runner): Return emitter that forwards server data
    
    Allow the consumer to decide whether to echo the runner progress or not.
    
    This might be the case when Karma.run() is called inside the same
    process/terminal as the server is running in (e.g. development
    servers).
    
    Fixes #2121, #2799
    
    * feat(cli): Echo the runner progress event, don't echo in runner
    
    The CLI shall echo the progress, not the runner itself.
    
    Fixes #2121, #2799
    is-already-taken authored and johnjbarton committed Jul 30, 2019
    Copy the full SHA
    62d4c5a View commit details
  2. Copy the full SHA
    1c6c690 View commit details

Commits on Aug 13, 2019

  1. Copy the full SHA
    6c5add2 View commit details

Commits on Aug 21, 2019

  1. feat(preprocessor): preprocessor_priority execution order. (#3303)

    Between 3.x and 4.x we moved from combineLists to underscore.union in preprocessor.
    Apparently combineLists was incorrect: the order of preprocessing changed in some cases.
    Conceptually the order ought to depend upon the preprocessor, not the file.
    
    Implement config.preprocessor_priority['preprocessor-name'] = priority, higher means run earlier.
    Default priority is 0.
    
    Add back compat API for karma-browserify.
    Update docs.
    johnjbarton authored Aug 21, 2019
    Copy the full SHA
    c5f3560 View commit details
  2. Copy the full SHA
    817fbbd View commit details

Commits on Aug 26, 2019

  1. fix(server): Simplify 'dom' inclusion. (#3356)

    The karma preprocessor caches file content: no need to read it async in the server loop.
    johnjbarton authored Aug 26, 2019
    Copy the full SHA
    5f13e11 View commit details
Showing with 18,611 additions and 9,479 deletions.
  1. +1 −1 .eslintignore
  2. 0 .eslintrc → .eslintrc.json
  3. +10 −0 .github/ISSUE_TEMPLATE/bug_report.md
  4. +1 −2 .gitignore
  5. +41 −37 .travis.yml
  6. +219 −9 CHANGELOG.md
  7. +1 −1 LICENSE
  8. +0 −3 PULL_REQUEST_TEMPLATE.md
  9. +9 −2 appveyor.yml
  10. +74 −19 client/karma.js
  11. +1 −2 client/main.js
  12. +11 −4 client/updater.js
  13. +1 −0 commitlint.config.js
  14. +12 −2 common/stringify.js
  15. +6 −4 context/karma.js
  16. BIN credentials
  17. +13 −0 cucumber.js
  18. +41 −5 docs/config/01-configuration-file.md
  19. +1 −1 docs/config/02-files.md
  20. +3 −2 docs/config/04-preprocessors.md
  21. +13 −13 docs/dev/02-making-changes.md
  22. +15 −0 docs/dev/04-public-api.md
  23. +3 −2 docs/dev/05-plugins.md
  24. +1 −2 docs/intro/04-faq.md
  25. +16 −1 docs/intro/05-troubleshooting.md
  26. +11 −1 docs/plus/02-travis.md
  27. +2 −44 gruntfile.js
  28. +6 −7 lib/browser.js
  29. +17 −10 lib/browser_collection.js
  30. +51 −82 lib/cli.js
  31. +1 −1 lib/completion.js
  32. +17 −14 lib/config.js
  33. +33 −0 lib/executor.js
  34. +76 −100 lib/file-list.js
  35. +14 −1 lib/file.js
  36. +7 −6 lib/helper.js
  37. +54 −39 lib/launcher.js
  38. +17 −8 lib/launchers/base.js
  39. +5 −5 lib/launchers/process.js
  40. +1 −1 lib/logger.js
  41. +0 −26 lib/middleware/common.js
  42. +27 −24 lib/middleware/karma.js
  43. +2 −1 lib/middleware/proxy.js
  44. +37 −29 lib/middleware/runner.js
  45. +97 −88 lib/preprocessor.js
  46. +5 −2 lib/reporter.js
  47. +5 −1 lib/runner.js
  48. +50 −31 lib/server.js
  49. +12 −0 lib/url.js
  50. +0 −1 lib/utils/bundle-utils.js
  51. +1 −1 lib/utils/json-utils.js
  52. +0 −1 lib/utils/net-utils.js
  53. +14 −0 lib/utils/pattern-utils.js
  54. +23 −26 lib/watcher.js
  55. +10 −28 lib/web-server.js
  56. +15,702 −0 package-lock.json
  57. +142 −136 package.json
  58. +22 −0 release.config.js
  59. +3 −3 tasks/test.js
  60. +1 −2 test/.eslintrc
  61. +42 −26 test/client/karma.conf.js
  62. +51 −22 test/client/karma.spec.js
  63. +1 −1 test/client/mocks.js
  64. +16 −16 test/client/stringify.spec.js
  65. +1 −1 test/client/util.spec.js
  66. +1 −18 test/e2e/basic.feature
  67. +18 −13 test/e2e/browser_console.feature
  68. +171 −0 test/e2e/cli.feature
  69. +1 −1 test/e2e/custom-context.feature
  70. +10 −6 test/e2e/error.feature
  71. +7 −7 test/e2e/files.feature
  72. +1 −1 test/e2e/headers.feature
  73. +24 −0 test/e2e/helpful-logs.feature
  74. +2 −2 test/e2e/launcher-error.feature
  75. +2 −2 test/e2e/middleware.feature
  76. +7 −3 test/e2e/pass-opts.feature
  77. +3 −3 test/e2e/proxy.feature
  78. +6 −1 test/e2e/reconnecting.feature
  79. +26 −0 test/e2e/reporting.feature
  80. +1 −22 test/e2e/runInParent.feature
  81. +113 −245 test/e2e/step_definitions/core_steps.js
  82. +7 −12 test/e2e/step_definitions/hooks.js
  83. +15 −0 test/e2e/step_definitions/utils.js
  84. +3 −2 test/e2e/stop.feature
  85. +2 −4 test/e2e/support/env.js
  86. +36 −31 test/e2e/support/proxy.js
  87. +2 −1 test/e2e/support/reconnecting/test.js
  88. +9 −0 test/e2e/support/reporting/test.js
  89. +145 −54 test/e2e/support/world.js
  90. +6 −6 test/e2e/tag.feature
  91. +2 −2 test/e2e/timeout.feature
  92. +5 −5 test/e2e/upstream-proxy.feature
  93. +41 −41 test/unit/browser.spec.js
  94. +31 −12 test/unit/browser_collection.spec.js
  95. +8 −8 test/unit/cli.spec.js
  96. +57 −47 test/unit/config.spec.js
  97. +2 −2 test/unit/events.spec.js
  98. +72 −21 test/unit/executor.spec.js
  99. +27 −45 test/unit/file-list.spec.js
  100. +15 −0 test/unit/file.spec.js
  101. +28 −20 test/unit/helper.spec.js
  102. +2 −2 test/unit/init.spec.js
  103. +6 −6 test/unit/init/formatters.spec.js
  104. +13 −13 test/unit/init/state_machine.spec.js
  105. +8 −18 test/unit/launcher.spec.js
  106. +27 −47 test/unit/launchers/base.spec.js
  107. +6 −8 test/unit/launchers/capture_timeout.spec.js
  108. +6 −7 test/unit/launchers/process.spec.js
  109. +1 −1 test/unit/logger.spec.js
  110. +11 −32 test/unit/middleware/karma.spec.js
  111. +14 −14 test/unit/middleware/proxy.spec.js
  112. +98 −74 test/unit/middleware/runner.spec.js
  113. +1 −1 test/unit/middleware/source_files.spec.js
  114. +0 −37 test/unit/mocha-globals.js
  115. +236 −155 test/unit/preprocessor.spec.js
  116. +29 −29 test/unit/reporter.spec.js
  117. +2 −2 test/unit/reporters/base.spec.js
  118. +1 −1 test/unit/reporters/progress.spec.js
  119. +2 −2 test/unit/runner.spec.js
  120. +98 −25 test/unit/server.spec.js
  121. +30 −0 test/unit/url.spec.js
  122. +1 −1 test/unit/utils/json-utils.spec.js
  123. +1 −0 test/unit/utils/net-utils.spec.js
  124. +33 −0 test/unit/utils/pattern-utils.spec.js
  125. +2 −33 test/unit/watcher.spec.js
  126. +8 −11 test/unit/web-server.spec.js
  127. +0 −7,426 yarn.lock
2 changes: 1 addition & 1 deletion .eslintignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
test/e2e/support/sandbox
test/e2e/support/error/under-test.js
test/unit/fixtures/bundled.js
static/karma.js
static/context.js
tmp/*
File renamed without changes.
10 changes: 10 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
name: Bug report
about: Create an actionable bug report
title: ''
labels: ''
assignees: ''

---

Please read http://karma-runner.github.io/4.0/intro/troubleshooting.html first
3 changes: 1 addition & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -4,11 +4,10 @@ static/context.js
static/karma.js
.idea/*
*.iml
tmp/*
docs/_build
*.swp
*.swo
test/e2e/console.log
test/e2e/support/sandbox
test/e2e/coverage/coverage
test/e2e/coverageQunit/coverage
test/e2e/coverageRequirejs/coverage
78 changes: 41 additions & 37 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,46 +1,50 @@
sudo: false
os: linux
dist: xenial
language: node_js
node_js:
- 6
- 8
- 10

env:
global:
- SAUCE_USERNAME: karmarunnerbot
- secure: "bRVY+hYZwMf1SqVnMyZRJTLD0gN1hLx9/MwO8MM/qBiu3YNjXy49XElfMdzMKN6cZeKTmhcnjmZonbJuI1PQ2t+utGkyjnlVLJ/OlWptreKLzIlcbt4hrdPoTcjmUTwDWq9Ex9cVoYX8AzCasETttpczp3P+s3+vmOUj8z25JyU="
- CXX=g++-4.8
matrix:
fast_finish: true
jobs:
include:
- name: "Lint code and commit message format"
node_js: "8"
env: VALIDATE_COMMIT_MSG=true LINT=true
- node_js: "10"
script:
- npm run init
- npm run build
- npm run test:unit
- npm run test:e2e

- node_js: "12"
script:
- npm run init
- npm run build
- npm run test:unit
- npm run test:e2e

- node_js: "14"
script:
- npm run init
- echo "TRAVIS_COMMIT $TRAVIS_COMMIT"
- echo "TRAVIS_PULL_REQUEST_SHA $TRAVIS_PULL_REQUEST_SHA"
- COMMIT_TO_VALIDATE=${TRAVIS_PULL_REQUEST_SHA:-$TRAVIS_COMMIT}
- echo "COMMIT_TO_VALIDATE $COMMIT_TO_VALIDATE"
- ./scripts/validate-commit-msg.sh $COMMIT_TO_VALIDATE
- npm run lint
- npm run build
- npm run test:unit
- npm run test:e2e
- npm run test:client
- npm run test:integration

after_success:
# run automated release process with semantic-release
- echo "TRAVIS_BRANCH=$TRAVIS_BRANCH, TRAVIS_EVENT_TYPE=$TRAVIS_EVENT_TYPE
- if [[ "$TRAVIS_BRANCH" == "master" && "$TRAVIS_EVENT_TYPE" == "push" ]]; then
npm run semantic-release;
fi;

before_install:
- npm config set loglevel warn
- g++-4.8 --version

addons:
firefox:
"latest"
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-4.8

before_script:
- export DISPLAY=:99.0
- sh -e /etc/init.d/xvfb start
- npm run init
- export $(openssl aes-256-cbc -pass env:CREDENTIALS_PASS -d -in credentials)
- echo "TRAVIS_COMMIT $TRAVIS_COMMIT"
- echo "TRAVIS_PULL_REQUEST_SHA $TRAVIS_PULL_REQUEST_SHA"
- COMMIT_TO_VALIDATE=${TRAVIS_PULL_REQUEST_SHA:-$TRAVIS_COMMIT}
- echo "COMMIT_TO_VALIDATE $COMMIT_TO_VALIDATE"
- 'if [ "$VALIDATE_COMMIT_MSG" == "true" ]; then ./scripts/validate-commit-msg.sh $COMMIT_TO_VALIDATE; fi'
- 'if [ "$LINT" == "true" ]; then npm run lint; fi'
firefox: "latest"

script:
- npm run travis
services:
- xvfb
Loading