Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mutation levels + clear-text reporter #4710

Open
wants to merge 35 commits into
base: master
Choose a base branch
from

Conversation

dvcopae
Copy link

@dvcopae dvcopae commented Feb 1, 2024

Extends the mutation levels PR with the implementation of the adjusted (absolute) mutation score for the clear-text reporter.

The PRs are separate to ensure that there are as few breaking changes as possible.

This requires the merge of #2995 from mutation-testing-elements, and updating the dependency to the new mutation-testing-elements version. Otherwise, the property MetricsResult.ignoredByMutationlevel is not found.

dvcopae and others added 30 commits October 21, 2023 12:56
Update dependencies from upstream
* Added project to test on

* Add level to the config and read it from code

* Move the debugging to the test project

* Add mutation levels CLI argument, fix lint

* Move testing-project back outside packages folder

* Check if pipeline is fixed

* Remove last change, there is something wrong with the pipeline environment

* Modify mutation levels config file to reflect the submutators

* Update meta config such that types are generated instead of strings

* Add back comment inside instrumenter launch file

* Trigger e2e and incremental_mutation_test workflows only on `master` push

---------

Co-authored-by: luctia <timmerman.luc1999@gmail.com>
* Changed configuration file for testing purposes

* small updates in the lock file of package.json

* Adaptation of the NodeMutator

* Added check to only run desired suboperators

* changed file to only run desired operators and pass its suboperators

* Modified ArrayDeclaration tests according to modifications

* Linting

* Make modfications to the tests.

* Linting

* changed the acceptation of undefined as well

* Linting

* process feedback PR

* Unstable

* Added new suboperators for ArrayDeclaration

* Adapted the suboperators implementation accordingly

* Solved issues with undefined

* changed tests

* just a different config file

* changed codebase for testing purposes

* cleaned up file

* cleanup

* processed feedback

* last feedback processed
* ArithmeticOp: pass the whole level

* Add min size to level arrays and mandatory name

* Move arithmetic ops to map

* Add test for arithmetic operator

* Restrict EqualityOperator
Observed mutation score (equality-operator-mutator.ts): 85.71%

* Formatting fixes

* Formatting fixes and removed dead code

* Update arithmetic-operator-mutator.ts and equality-operator-mutator.ts to comply with the changes to node-mutator.ts.

Coded it such that `undefined` results in allowing everything since otherwise setting no MutationLevel results in blocking every mutator.

---------

Co-authored-by: Danut Copae <d.v.copae@gmail.com>
Co-authored-by: Ivo_Broekhof <i.broekhof@student.utwente.nl>
* WIP Mutation level support for BooleanLiterals

* Fix prettier

* Tests

* Pleased linter

* Fixed typo

* Added tests for edge cases
* WIP support for assignmentoperator

* Added assignmentoperator in definitions

* Added tests for edge cases

* Added comments about what's being mutated

* Resolved merge conflict?
Co-authored-by: Ivo Broekhof <46261484+brokhiv@users.noreply.github.com>
Co-authored-by: Ivo Broekhof <46261484+brokhiv@users.noreply.github.com>
* solution to read a json file which contains levels

* implementation of reading json object

* read config

* Refactor default levels location

* make method private again

---------

Co-authored-by: Javier <j.perezyperez@student.utwente.nl>
* Restricted logical-operator-mutator.ts

* Pleased linter now

---------

Co-authored-by: Ivo_Broekhof <i.broekhof@student.utwente.nl>
* Added an extra suboperator

* changed implementation of suboperator

* tests for conditional operator for mutationLevel

* combined config file

* moved order of yielding

* modified tests properly

---------

Co-authored-by: Danut Copae <66919951+dvcopae@users.noreply.github.com>
* integrated MutationLevel into method-expression-mutator.ts
Converted Map to const object

* Fix formatting to please Prettier
Used prettier-ignore on operators

* modified operator to pass test and still function

---------

Co-authored-by: Ivo_Broekhof <i.broekhof@student.utwente.nl>
Co-authored-by: Javier <j.perezyperez@student.utwente.nl>
Co-authored-by: Danut Copae <66919951+dvcopae@users.noreply.github.com>
* integrated MutationLevel into unary-operator-mutator.ts
Changed enum to const object

* Fix formatting to please Prettier

---------

Co-authored-by: Ivo_Broekhof <i.broekhof@student.utwente.nl>
Co-authored-by: Danut Copae <66919951+dvcopae@users.noreply.github.com>
* updated to conform to mutationlevels

* modified tests

* modified config file

* initial implementation of condition

* Revert "initial implementation of condition"

This reverts commit bcb6cc0.

* changed tests to pass CI/CD

* changes nessecary for pass

* small refactor

* remove line added by mistake

---------

Co-authored-by: Danut Copae <66919951+dvcopae@users.noreply.github.com>
Co-authored-by: Danut Copae <d.v.copae@gmail.com>
* Added support for arrowfunction

* update schema

* Fix up arrow function sting

---------

Co-authored-by: Danut Copae <66919951+dvcopae@users.noreply.github.com>
Co-authored-by: Danut Copae <d.v.copae@gmail.com>
* object literal implementation of mutation levels

* change construct of ObjectLiteral

* Last Modifications to adhere to new implementation
* save progress

* details
* Rename mutators in the schema

* Change negation to substraction in arhitmeticop

* Rename mutators, stable

* Enforce type with a generic NodeMutatorConfiguration

* Get rid of NodeMutatorMultiConfiguration

* Move operators inside nodemutator interface

* Update conditionalLevel test name

* Finish aritmetic through conditional operators, stable

* Fix arithmetic through object-literal operators, stable

* Fix up optional-chaining

* Finish renaming mutators

* Reorder stryker-core to reduce generated warnings

* Use the same key for the mutator operators when there is no reason to be more specific
* Made the arithmetic operator more consistent

* Made the array declaration more consistent

* Made the arrow function more consistent

* Made the assignment operator more consistent

* Made the block statement more consistent

* Made the boolean literal more consistent

* Made the conditional expression more consistent

* Made the equality operator more consistent

* Made the logical operator more consistent

* Made the method expression more consistent

* Made the object literal more consistent

* Made the optional chaining more consistent

* Made the regex more consistent

* Made the string literal more consistent

* Made the unary operator more consistent

* Made the update operator more consistent

* small modification in consistency

* Fix consistency in all unit test files

---------

Co-authored-by: Danut Copae <d.v.copae@gmail.com>
* Build level for includedMutations

* Add 'excludedMutations' functionality

* Fix up tests after the excludedMutations changes

* Remove redundant emptyMutationLevel object
… clear-text-reporter('s table) (#81)

* Add 'excludedMutations' functionality

* Fix up tests after the excludedMutations changes

* WIP

* Added isMutable to NodeMutator

* Added numberOfMutants to NodeMutator

* Added column to text score table for adjusted mutation score

* Fix linting issues

* Fixed tests for babel-transformer

* Fixed instrumenter tests

* Improved test coverage

* Adjusted tests for clear-text-reporter

* Removed additional useless writeLine

* Remove redundant emptyMutationLevel

* Refactor mutators to increase branch coverage

* Fix lint

* Fix method expression test

---------

Co-authored-by: Danut Copae <d.v.copae@gmail.com>
* chore(deps): update dependency tap to v18.5.8 (stryker-mutator#4585)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @sveltejs/kit to v1.27.6 (stryker-mutator#4586)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency ts-loader to v9.5.1 (stryker-mutator#4588)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency axios to v1.6.2 (stryker-mutator#4587)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency tap to v18.6.1 (stryker-mutator#4591)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency svelte to v4.2.4 (stryker-mutator#4594)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v20.9.1 (stryker-mutator#4593)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency svelte to v4.2.5 (stryker-mutator#4596)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency eslint to v8.54.0 (stryker-mutator#4597)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v20.9.2 (stryker-mutator#4599)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency svelte to v4.2.6 (stryker-mutator#4600)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @babel/cli to v7.23.4 (stryker-mutator#4601)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency svelte to v4.2.7 (stryker-mutator#4602)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update mutation-testing-elements to v3.0.0 (stryker-mutator#4592)

* chore(deps): update dependency @types/istanbul to v0.4.34 (stryker-mutator#4605)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/babel__core to v7.20.5 (stryker-mutator#4604)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/karma to v6.3.8 (stryker-mutator#4606)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/mocha to v10.0.5 (stryker-mutator#4607)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/sinon to v17.0.2 (stryker-mutator#4610)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v20.9.3 (stryker-mutator#4608)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/semver to v7.5.6 (stryker-mutator#4609)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v20.9.4 (stryker-mutator#4612)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency svelte-check to v3.6.1 (stryker-mutator#4614)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency lerna to v8 (stryker-mutator#4616)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @sveltejs/vite-plugin-svelte to v2.5.3 (stryker-mutator#4615)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v20.10.0 (stryker-mutator#4617)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/mocha to v10.0.6 (stryker-mutator#4611)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency svelte-check to v3.6.2 (stryker-mutator#4619)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency jsdom to v23 (stryker-mutator#4621)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update babel monorepo to v7.23.5 (stryker-mutator#4622)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(jest-runner): support `handleTestEvent` class property (stryker-mutator#4623)

* chore(deps): update dependency typescript to v5.3.2

* fix(jest-runner): support `handleTestEvent` class property

Support `handleTestEvent` as a custom class property (instead of method).

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v20.10.1 (stryker-mutator#4624)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @cucumber/messages to v24 (stryker-mutator#4618)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update typescript-eslint monorepo to v6.13.1 (stryker-mutator#4584)

* chore(deps): update typescript-eslint monorepo to v6.13.1

* fix eslint warnings for grabbed code

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Nico Jansen <jansennico@gmail.com>

* chore(deps): update dependency jsdom to v23.0.1 (stryker-mutator#4626)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency svelte to v4.2.8 (stryker-mutator#4627)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat(node): drop official support for node 16 (stryker-mutator#4542)

- Set TS target to es2022 for more concise JavaScript
- Drop support for node 16. The lowest supported version is now NodeJS 18.

BREAKING CHANGE: NodeJS 16 is no longer supported. Please use NodeJS 18 or higher. See https://nodejs.org/en/about/previous-releases

* feat(vitest): support browser mode (stryker-mutator#4628)

- Support vitest browser mode
- Support vitest@1.0.0-beta

* feat(init): add svelte custom initializer (stryker-mutator#4625)

* Add svelte custom initializer
* Add guide to configure Stryker for a svelte project

* chore(release): bump StrykerJS peer dependency version

* v8.0.0

* chore(deps): update dependency playwright to v1.40.1 (stryker-mutator#4629)

* chore(deps): update dependency playwright to v1.40.1

* Regen lock file

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Nico Jansen <jansennico@gmail.com>

* chore(deps): update dependency prettier to v3.1.0 (stryker-mutator#4583)

* chore(deps): update dependency prettier to v3.1.0

* Fix formatting

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Nico Jansen <jansennico@gmail.com>

* chore(deps): update dependency eslint to v8.55.0 (stryker-mutator#4632)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency eslint-config-prettier to v9.1.0 (stryker-mutator#4633)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update typescript-eslint monorepo to v6.13.2 (stryker-mutator#4637)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency ava to v6 (stryker-mutator#4638)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency ava to v6.0.1 (stryker-mutator#4642)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat(core): Add .next, .nuxt and .svelte-kit to ignorePattern (stryker-mutator#4645)

* feat: Add .next .nuxt .svelte-kit to ALWAYS_IGNORE patterns

* fix unit test for project-reader

* chore(deps): update vitest monorepo to v1.0.3 (stryker-mutator#4636)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency vite to v4.5.1 [security] (stryker-mutator#4639)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @testing-library/jest-dom to v6.1.5 (stryker-mutator#4630)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v20.10.4 (stryker-mutator#4631)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency ts-node to v10.9.2 (stryker-mutator#4646)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency typescript to v5.3.3 (stryker-mutator#4643)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update vitest monorepo to v1.0.4 (stryker-mutator#4647)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @sveltejs/kit to v1.27.7 (stryker-mutator#4640)

* chore(deps): update dependency @sveltejs/kit to v1.27.7

* Regen lock file

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Nico Jansen <jansennico@gmail.com>

* chore(deps): update dependency prettier to v3.1.1 (stryker-mutator#4648)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency angular-html-parser to ~5.2.0 (stryker-mutator#4649)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @sveltejs/kit to v1.28.0 (stryker-mutator#4650)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(ci): remove unused `--force` (stryker-mutator#4651)

* chore(deps): update babel monorepo to v7.23.6 (stryker-mutator#4652)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update typescript-eslint monorepo to v6.14.0 (stryker-mutator#4653)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @sveltejs/kit to v1.29.0 (stryker-mutator#4654)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @sveltejs/kit to v1.29.1 (stryker-mutator#4655)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @sveltejs/kit to v1.30.0 (stryker-mutator#4656)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @sveltejs/kit to v1.30.1 (stryker-mutator#4657)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @sveltejs/kit to v1.30.2 (stryker-mutator#4659)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @sveltejs/kit to v1.30.3 (stryker-mutator#4660)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency eslint-plugin-import to v2.29.1 (stryker-mutator#4661)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency lerna to v8.0.1 (stryker-mutator#4665)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency eslint to v8.56.0 (stryker-mutator#4666)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/babel__generator to v7.6.8 (stryker-mutator#4667)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v20.10.5 (stryker-mutator#4668)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update actions/upload-artifact action to v4 (stryker-mutator#4662)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update vitest monorepo to v1.1.0 (stryker-mutator#4670)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency eslint-plugin-prettier to v5.1.0 (stryker-mutator#4671)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency eslint-plugin-unicorn to v50 (stryker-mutator#4672)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency eslint-plugin-unicorn to v50.0.1 (stryker-mutator#4673)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency eslint-plugin-prettier to v5.1.1 (stryker-mutator#4674)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @cucumber/cucumber to v10.1.0 (stryker-mutator#4676)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency eslint-plugin-prettier to v5.1.2 (stryker-mutator#4679)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency axios to v1.6.3 (stryker-mutator#4680)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @testing-library/jest-dom to v6.1.6 (stryker-mutator#4682)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore: fix docs links

* Base structure for selecting operators individually (#14)

* Added project to test on

* Add level to the config and read it from code

* Move the debugging to the test project

* Add mutation levels CLI argument, fix lint

* Move testing-project back outside packages folder

* Check if pipeline is fixed

* Remove last change, there is something wrong with the pipeline environment

* Modify mutation levels config file to reflect the submutators

* Update meta config such that types are generated instead of strings

* Add back comment inside instrumenter launch file

* Trigger e2e and incremental_mutation_test workflows only on `master` push

---------

Co-authored-by: luctia <timmerman.luc1999@gmail.com>

* #18 restrict arraydeclaration mutator   (#40)

* Changed configuration file for testing purposes

* small updates in the lock file of package.json

* Adaptation of the NodeMutator

* Added check to only run desired suboperators

* changed file to only run desired operators and pass its suboperators

* Modified ArrayDeclaration tests according to modifications

* Linting

* Make modfications to the tests.

* Linting

* changed the acceptation of undefined as well

* Linting

* process feedback PR

* Unstable

* Added new suboperators for ArrayDeclaration

* Adapted the suboperators implementation accordingly

* Solved issues with undefined

* changed tests

* just a different config file

* changed codebase for testing purposes

* cleaned up file

* cleanup

* processed feedback

* last feedback processed

* #23 restrict equalityoperator mutator (#41)

* ArithmeticOp: pass the whole level

* Add min size to level arrays and mandatory name

* Move arithmetic ops to map

* Add test for arithmetic operator

* Restrict EqualityOperator
Observed mutation score (equality-operator-mutator.ts): 85.71%

* Formatting fixes

* Formatting fixes and removed dead code

* Update arithmetic-operator-mutator.ts and equality-operator-mutator.ts to comply with the changes to node-mutator.ts.

Coded it such that `undefined` results in allowing everything since otherwise setting no MutationLevel results in blocking every mutator.

---------

Co-authored-by: Danut Copae <d.v.copae@gmail.com>
Co-authored-by: Ivo_Broekhof <i.broekhof@student.utwente.nl>

* #21 booleanliteral (#44)

* WIP Mutation level support for BooleanLiterals

* Fix prettier

* Tests

* Pleased linter

* Fixed typo

* Added tests for edge cases

* #20 assignment operator (#46)

* WIP support for assignmentoperator

* Added assignmentoperator in definitions

* Added tests for edge cases

* Added comments about what's being mutated

* Resolved merge conflict?

* Add restriction for string literals (#43)

Co-authored-by: Ivo Broekhof <46261484+brokhiv@users.noreply.github.com>

* Restrict optional chaining mutator (#45)

Co-authored-by: Ivo Broekhof <46261484+brokhiv@users.noreply.github.com>

* Change mutation level specification style (#56)

* Read default levels v2 (#60)

* solution to read a json file which contains levels

* implementation of reading json object

* read config

* Refactor default levels location

* make method private again

---------

Co-authored-by: Javier <j.perezyperez@student.utwente.nl>

* Restricted logical-operator-mutator.ts (#57)

* Restricted logical-operator-mutator.ts

* Pleased linter now

---------

Co-authored-by: Ivo_Broekhof <i.broekhof@student.utwente.nl>

* #22 restrict conditionalexpression mutator (#55)

* Added an extra suboperator

* changed implementation of suboperator

* tests for conditional operator for mutationLevel

* combined config file

* moved order of yielding

* modified tests properly

---------

Co-authored-by: Danut Copae <66919951+dvcopae@users.noreply.github.com>

* 25 restrict methodexpression mutator (#54)

* integrated MutationLevel into method-expression-mutator.ts
Converted Map to const object

* Fix formatting to please Prettier
Used prettier-ignore on operators

* modified operator to pass test and still function

---------

Co-authored-by: Ivo_Broekhof <i.broekhof@student.utwente.nl>
Co-authored-by: Javier <j.perezyperez@student.utwente.nl>
Co-authored-by: Danut Copae <66919951+dvcopae@users.noreply.github.com>

* 29 restrict unaryoperator mutator (#53)

* integrated MutationLevel into unary-operator-mutator.ts
Changed enum to const object

* Fix formatting to please Prettier

---------

Co-authored-by: Ivo_Broekhof <i.broekhof@student.utwente.nl>
Co-authored-by: Danut Copae <66919951+dvcopae@users.noreply.github.com>

* #30 restrict updateoperator mutator (#51)

* updated to conform to mutationlevels

* modified tests

* modified config file

* initial implementation of condition

* Revert "initial implementation of condition"

This reverts commit bcb6cc0.

* changed tests to pass CI/CD

* changes nessecary for pass

* small refactor

* remove line added by mistake

---------

Co-authored-by: Danut Copae <66919951+dvcopae@users.noreply.github.com>
Co-authored-by: Danut Copae <d.v.copae@gmail.com>

* Added support for arrowfunction (#47)

* Added support for arrowfunction

* update schema

* Fix up arrow function sting

---------

Co-authored-by: Danut Copae <66919951+dvcopae@users.noreply.github.com>
Co-authored-by: Danut Copae <d.v.copae@gmail.com>

* #63 implement objectliteral mutator (#65)

* object literal implementation of mutation levels

* change construct of ObjectLiteral

* Last Modifications to adhere to new implementation

* Refactor mutators (#64)

* save progress

* details

* Implement mutationLevel construct BlockStatement (#66)

* implement MutationLevel construct for Regex (#67)

* Rename mutators & enhance NodeMutatorConfiguration type (#68)

* Rename mutators in the schema

* Change negation to substraction in arhitmeticop

* Rename mutators, stable

* Enforce type with a generic NodeMutatorConfiguration

* Get rid of NodeMutatorMultiConfiguration

* Move operators inside nodemutator interface

* Update conditionalLevel test name

* Finish aritmetic through conditional operators, stable

* Fix arithmetic through object-literal operators, stable

* Fix up optional-chaining

* Finish renaming mutators

* Reorder stryker-core to reduce generated warnings

* Use the same key for the mutator operators when there is no reason to be more specific

* #48 ensure code consistency between mutators tests (#75)

* Made the arithmetic operator more consistent

* Made the array declaration more consistent

* Made the arrow function more consistent

* Made the assignment operator more consistent

* Made the block statement more consistent

* Made the boolean literal more consistent

* Made the conditional expression more consistent

* Made the equality operator more consistent

* Made the logical operator more consistent

* Made the method expression more consistent

* Made the object literal more consistent

* Made the optional chaining more consistent

* Made the regex more consistent

* Made the string literal more consistent

* Made the unary operator more consistent

* Made the update operator more consistent

* small modification in consistency

* Fix consistency in all unit test files

---------

Co-authored-by: Danut Copae <d.v.copae@gmail.com>

* remove testing project folder

* removed testing folder from the workspace file

* Revert "chore: fix docs links"

This reverts commit d51d612.

* removed testing folder again

* change naming of operators

* small modification to one of the names

* Fix up ignore-project

* Copy CI from upstream

* Fix up config reader test from upstream

* Fix up reporters-e2e test

* Modification of stryker config

* Modify the mutantstatus dependency

* removed last items from testing folder

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Hugo van Rijswijk <git@hugovr.nl>
Co-authored-by: Nico Jansen <jansennico@gmail.com>
Co-authored-by: odinvanderlinden <45065297+odinvanderlinden@users.noreply.github.com>
Co-authored-by: Danut Copae <66919951+dvcopae@users.noreply.github.com>
Co-authored-by: luctia <timmerman.luc1999@gmail.com>
Co-authored-by: Ivo Broekhof <46261484+brokhiv@users.noreply.github.com>
Co-authored-by: Danut Copae <d.v.copae@gmail.com>
Co-authored-by: Ivo_Broekhof <i.broekhof@student.utwente.nl>
Co-authored-by: Luc Timmerman <48736891+Luctia@users.noreply.github.com>
* Fix up ignore-project

* Copy CI from upstream

* Fix up config reader test from upstream

* Fix up reporters-e2e test

* Test ignored mutators when they are not present in includedMutations

* Remove MutantStatus from ignore-project
* chore(deps): update dependency tap to v18.5.8 (stryker-mutator#4585)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @sveltejs/kit to v1.27.6 (stryker-mutator#4586)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency ts-loader to v9.5.1 (stryker-mutator#4588)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency axios to v1.6.2 (stryker-mutator#4587)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency tap to v18.6.1 (stryker-mutator#4591)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency svelte to v4.2.4 (stryker-mutator#4594)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v20.9.1 (stryker-mutator#4593)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency svelte to v4.2.5 (stryker-mutator#4596)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency eslint to v8.54.0 (stryker-mutator#4597)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v20.9.2 (stryker-mutator#4599)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency svelte to v4.2.6 (stryker-mutator#4600)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @babel/cli to v7.23.4 (stryker-mutator#4601)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency svelte to v4.2.7 (stryker-mutator#4602)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update mutation-testing-elements to v3.0.0 (stryker-mutator#4592)

* chore(deps): update dependency @types/istanbul to v0.4.34 (stryker-mutator#4605)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/babel__core to v7.20.5 (stryker-mutator#4604)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/karma to v6.3.8 (stryker-mutator#4606)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/mocha to v10.0.5 (stryker-mutator#4607)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/sinon to v17.0.2 (stryker-mutator#4610)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v20.9.3 (stryker-mutator#4608)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/semver to v7.5.6 (stryker-mutator#4609)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v20.9.4 (stryker-mutator#4612)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency svelte-check to v3.6.1 (stryker-mutator#4614)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency lerna to v8 (stryker-mutator#4616)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @sveltejs/vite-plugin-svelte to v2.5.3 (stryker-mutator#4615)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v20.10.0 (stryker-mutator#4617)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/mocha to v10.0.6 (stryker-mutator#4611)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency svelte-check to v3.6.2 (stryker-mutator#4619)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency jsdom to v23 (stryker-mutator#4621)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update babel monorepo to v7.23.5 (stryker-mutator#4622)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(jest-runner): support `handleTestEvent` class property (stryker-mutator#4623)

* chore(deps): update dependency typescript to v5.3.2

* fix(jest-runner): support `handleTestEvent` class property

Support `handleTestEvent` as a custom class property (instead of method).

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v20.10.1 (stryker-mutator#4624)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @cucumber/messages to v24 (stryker-mutator#4618)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update typescript-eslint monorepo to v6.13.1 (stryker-mutator#4584)

* chore(deps): update typescript-eslint monorepo to v6.13.1

* fix eslint warnings for grabbed code

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Nico Jansen <jansennico@gmail.com>

* chore(deps): update dependency jsdom to v23.0.1 (stryker-mutator#4626)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency svelte to v4.2.8 (stryker-mutator#4627)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat(node): drop official support for node 16 (stryker-mutator#4542)

- Set TS target to es2022 for more concise JavaScript
- Drop support for node 16. The lowest supported version is now NodeJS 18.

BREAKING CHANGE: NodeJS 16 is no longer supported. Please use NodeJS 18 or higher. See https://nodejs.org/en/about/previous-releases

* feat(vitest): support browser mode (stryker-mutator#4628)

- Support vitest browser mode
- Support vitest@1.0.0-beta

* feat(init): add svelte custom initializer (stryker-mutator#4625)

* Add svelte custom initializer
* Add guide to configure Stryker for a svelte project

* chore(release): bump StrykerJS peer dependency version

* v8.0.0

* chore(deps): update dependency playwright to v1.40.1 (stryker-mutator#4629)

* chore(deps): update dependency playwright to v1.40.1

* Regen lock file

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Nico Jansen <jansennico@gmail.com>

* chore(deps): update dependency prettier to v3.1.0 (stryker-mutator#4583)

* chore(deps): update dependency prettier to v3.1.0

* Fix formatting

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Nico Jansen <jansennico@gmail.com>

* chore(deps): update dependency eslint to v8.55.0 (stryker-mutator#4632)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency eslint-config-prettier to v9.1.0 (stryker-mutator#4633)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update typescript-eslint monorepo to v6.13.2 (stryker-mutator#4637)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency ava to v6 (stryker-mutator#4638)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency ava to v6.0.1 (stryker-mutator#4642)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat(core): Add .next, .nuxt and .svelte-kit to ignorePattern (stryker-mutator#4645)

* feat: Add .next .nuxt .svelte-kit to ALWAYS_IGNORE patterns

* fix unit test for project-reader

* chore(deps): update vitest monorepo to v1.0.3 (stryker-mutator#4636)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency vite to v4.5.1 [security] (stryker-mutator#4639)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @testing-library/jest-dom to v6.1.5 (stryker-mutator#4630)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v20.10.4 (stryker-mutator#4631)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency ts-node to v10.9.2 (stryker-mutator#4646)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency typescript to v5.3.3 (stryker-mutator#4643)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update vitest monorepo to v1.0.4 (stryker-mutator#4647)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @sveltejs/kit to v1.27.7 (stryker-mutator#4640)

* chore(deps): update dependency @sveltejs/kit to v1.27.7

* Regen lock file

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Nico Jansen <jansennico@gmail.com>

* chore(deps): update dependency prettier to v3.1.1 (stryker-mutator#4648)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency angular-html-parser to ~5.2.0 (stryker-mutator#4649)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @sveltejs/kit to v1.28.0 (stryker-mutator#4650)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(ci): remove unused `--force` (stryker-mutator#4651)

* chore(deps): update babel monorepo to v7.23.6 (stryker-mutator#4652)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update typescript-eslint monorepo to v6.14.0 (stryker-mutator#4653)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @sveltejs/kit to v1.29.0 (stryker-mutator#4654)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @sveltejs/kit to v1.29.1 (stryker-mutator#4655)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @sveltejs/kit to v1.30.0 (stryker-mutator#4656)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @sveltejs/kit to v1.30.1 (stryker-mutator#4657)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @sveltejs/kit to v1.30.2 (stryker-mutator#4659)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @sveltejs/kit to v1.30.3 (stryker-mutator#4660)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency eslint-plugin-import to v2.29.1 (stryker-mutator#4661)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency lerna to v8.0.1 (stryker-mutator#4665)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency eslint to v8.56.0 (stryker-mutator#4666)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/babel__generator to v7.6.8 (stryker-mutator#4667)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v20.10.5 (stryker-mutator#4668)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update actions/upload-artifact action to v4 (stryker-mutator#4662)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update vitest monorepo to v1.1.0 (stryker-mutator#4670)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency eslint-plugin-prettier to v5.1.0 (stryker-mutator#4671)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency eslint-plugin-unicorn to v50 (stryker-mutator#4672)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency eslint-plugin-unicorn to v50.0.1 (stryker-mutator#4673)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency eslint-plugin-prettier to v5.1.1 (stryker-mutator#4674)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @cucumber/cucumber to v10.1.0 (stryker-mutator#4676)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency eslint-plugin-prettier to v5.1.2 (stryker-mutator#4679)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency axios to v1.6.3 (stryker-mutator#4680)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @testing-library/jest-dom to v6.1.6 (stryker-mutator#4682)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore: fix docs links

* Base structure for selecting operators individually (#14)

* Added project to test on

* Add level to the config and read it from code

* Move the debugging to the test project

* Add mutation levels CLI argument, fix lint

* Move testing-project back outside packages folder

* Check if pipeline is fixed

* Remove last change, there is something wrong with the pipeline environment

* Modify mutation levels config file to reflect the submutators

* Update meta config such that types are generated instead of strings

* Add back comment inside instrumenter launch file

* Trigger e2e and incremental_mutation_test workflows only on `master` push

---------

Co-authored-by: luctia <timmerman.luc1999@gmail.com>

* #18 restrict arraydeclaration mutator   (#40)

* Changed configuration file for testing purposes

* small updates in the lock file of package.json

* Adaptation of the NodeMutator

* Added check to only run desired suboperators

* changed file to only run desired operators and pass its suboperators

* Modified ArrayDeclaration tests according to modifications

* Linting

* Make modfications to the tests.

* Linting

* changed the acceptation of undefined as well

* Linting

* process feedback PR

* Unstable

* Added new suboperators for ArrayDeclaration

* Adapted the suboperators implementation accordingly

* Solved issues with undefined

* changed tests

* just a different config file

* changed codebase for testing purposes

* cleaned up file

* cleanup

* processed feedback

* last feedback processed

* #23 restrict equalityoperator mutator (#41)

* ArithmeticOp: pass the whole level

* Add min size to level arrays and mandatory name

* Move arithmetic ops to map

* Add test for arithmetic operator

* Restrict EqualityOperator
Observed mutation score (equality-operator-mutator.ts): 85.71%

* Formatting fixes

* Formatting fixes and removed dead code

* Update arithmetic-operator-mutator.ts and equality-operator-mutator.ts to comply with the changes to node-mutator.ts.

Coded it such that `undefined` results in allowing everything since otherwise setting no MutationLevel results in blocking every mutator.

---------

Co-authored-by: Danut Copae <d.v.copae@gmail.com>
Co-authored-by: Ivo_Broekhof <i.broekhof@student.utwente.nl>

* #21 booleanliteral (#44)

* WIP Mutation level support for BooleanLiterals

* Fix prettier

* Tests

* Pleased linter

* Fixed typo

* Added tests for edge cases

* #20 assignment operator (#46)

* WIP support for assignmentoperator

* Added assignmentoperator in definitions

* Added tests for edge cases

* Added comments about what's being mutated

* Resolved merge conflict?

* Add restriction for string literals (#43)

Co-authored-by: Ivo Broekhof <46261484+brokhiv@users.noreply.github.com>

* Restrict optional chaining mutator (#45)

Co-authored-by: Ivo Broekhof <46261484+brokhiv@users.noreply.github.com>

* Change mutation level specification style (#56)

* Read default levels v2 (#60)

* solution to read a json file which contains levels

* implementation of reading json object

* read config

* Refactor default levels location

* make method private again

---------

Co-authored-by: Javier <j.perezyperez@student.utwente.nl>

* Restricted logical-operator-mutator.ts (#57)

* Restricted logical-operator-mutator.ts

* Pleased linter now

---------

Co-authored-by: Ivo_Broekhof <i.broekhof@student.utwente.nl>

* #22 restrict conditionalexpression mutator (#55)

* Added an extra suboperator

* changed implementation of suboperator

* tests for conditional operator for mutationLevel

* combined config file

* moved order of yielding

* modified tests properly

---------

Co-authored-by: Danut Copae <66919951+dvcopae@users.noreply.github.com>

* 25 restrict methodexpression mutator (#54)

* integrated MutationLevel into method-expression-mutator.ts
Converted Map to const object

* Fix formatting to please Prettier
Used prettier-ignore on operators

* modified operator to pass test and still function

---------

Co-authored-by: Ivo_Broekhof <i.broekhof@student.utwente.nl>
Co-authored-by: Javier <j.perezyperez@student.utwente.nl>
Co-authored-by: Danut Copae <66919951+dvcopae@users.noreply.github.com>

* 29 restrict unaryoperator mutator (#53)

* integrated MutationLevel into unary-operator-mutator.ts
Changed enum to const object

* Fix formatting to please Prettier

---------

Co-authored-by: Ivo_Broekhof <i.broekhof@student.utwente.nl>
Co-authored-by: Danut Copae <66919951+dvcopae@users.noreply.github.com>

* #30 restrict updateoperator mutator (#51)

* updated to conform to mutationlevels

* modified tests

* modified config file

* initial implementation of condition

* Revert "initial implementation of condition"

This reverts commit bcb6cc0.

* changed tests to pass CI/CD

* changes nessecary for pass

* small refactor

* remove line added by mistake

---------

Co-authored-by: Danut Copae <66919951+dvcopae@users.noreply.github.com>
Co-authored-by: Danut Copae <d.v.copae@gmail.com>

* Added support for arrowfunction (#47)

* Added support for arrowfunction

* update schema

* Fix up arrow function sting

---------

Co-authored-by: Danut Copae <66919951+dvcopae@users.noreply.github.com>
Co-authored-by: Danut Copae <d.v.copae@gmail.com>

* #63 implement objectliteral mutator (#65)

* object literal implementation of mutation levels

* change construct of ObjectLiteral

* Last Modifications to adhere to new implementation

* Refactor mutators (#64)

* save progress

* details

* Implement mutationLevel construct BlockStatement (#66)

* implement MutationLevel construct for Regex (#67)

* Rename mutators & enhance NodeMutatorConfiguration type (#68)

* Rename mutators in the schema

* Change negation to substraction in arhitmeticop

* Rename mutators, stable

* Enforce type with a generic NodeMutatorConfiguration

* Get rid of NodeMutatorMultiConfiguration

* Move operators inside nodemutator interface

* Update conditionalLevel test name

* Finish aritmetic through conditional operators, stable

* Fix arithmetic through object-literal operators, stable

* Fix up optional-chaining

* Finish renaming mutators

* Reorder stryker-core to reduce generated warnings

* Use the same key for the mutator operators when there is no reason to be more specific

* #48 ensure code consistency between mutators tests (#75)

* Made the arithmetic operator more consistent

* Made the array declaration more consistent

* Made the arrow function more consistent

* Made the assignment operator more consistent

* Made the block statement more consistent

* Made the boolean literal more consistent

* Made the conditional expression more consistent

* Made the equality operator more consistent

* Made the logical operator more consistent

* Made the method expression more consistent

* Made the object literal more consistent

* Made the optional chaining more consistent

* Made the regex more consistent

* Made the string literal more consistent

* Made the unary operator more consistent

* Made the update operator more consistent

* small modification in consistency

* Fix consistency in all unit test files

---------

Co-authored-by: Danut Copae <d.v.copae@gmail.com>

* remove testing project folder

* removed testing folder from the workspace file

* Revert "chore: fix docs links"

This reverts commit d51d612.

* removed testing folder again

* change naming of operators

* small modification to one of the names

* Fix up ignore-project

* Copy CI from upstream

* Fix up config reader test from upstream

* Fix up reporters-e2e test

* Modification of stryker config

* Modify the mutantstatus dependency

* removed last items from testing folder

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Hugo van Rijswijk <git@hugovr.nl>
Co-authored-by: Nico Jansen <jansennico@gmail.com>
Co-authored-by: odinvanderlinden <45065297+odinvanderlinden@users.noreply.github.com>
Co-authored-by: Danut Copae <66919951+dvcopae@users.noreply.github.com>
Co-authored-by: luctia <timmerman.luc1999@gmail.com>
Co-authored-by: Ivo Broekhof <46261484+brokhiv@users.noreply.github.com>
Co-authored-by: Danut Copae <d.v.copae@gmail.com>
Co-authored-by: Ivo_Broekhof <i.broekhof@student.utwente.nl>
Co-authored-by: Luc Timmerman <48736891+Luctia@users.noreply.github.com>
* Remove testing project from eslintignore
brokhiv and others added 5 commits January 27, 2024 10:23
* Added doc comments where they were missing

* Added/modified description of mutation levels in docs

* Updated section on level selection

* Possibly fixed pipeline failure
Looks like a dependency was snuck in from local, removed that

* linter fixes

Remove spurious whitespace at lines 12 and 17

* Updated naming changes in accordance to the new convention

* Made mutation names consistent with previous naming change

* Add calisto guide (specific commands still pending)

---------

Co-authored-by: Ivo_Broekhof <i.broekhof@student.utwente.nl>
Co-authored-by: Danut Copae <66919951+dvcopae@users.noreply.github.com>
Co-authored-by: Danut Copae <d.v.copae@gmail.com>
* Move default-mutation-levels file to .ts

* Rename mutationName to mutationOperator

* Move if statements outside of API

* Remove `any` type from ReplacementConfiguration

* Remove all the clear-text-reporter changes

* Remove all clear-text reporter changes

* Minimum includedMutations array length, warn when mutator isn't recognised

* Remove default options for mutator options

* Fix typo

* Fix reporters-e2e test

* Refer to Callisto documentation
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants