apex-mutation-testing 1.3.0-dev-83.22024108564-1 → 1.3.0-dev-85.22024996296-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -174,7 +174,7 @@ EXAMPLES
174
174
  $ sf apex mutation test run --apex-class MyClass --test-class MyClassTest
175
175
  ```
176
176
 
177
- _See code: [src/commands/apex/mutation/test/run.ts](https://github.com/scolladon/apex-mutation-testing/blob/v1.3.0-dev-83.22024108564-1/src/commands/apex/mutation/test/run.ts)_
177
+ _See code: [src/commands/apex/mutation/test/run.ts](https://github.com/scolladon/apex-mutation-testing/blob/v1.3.0-dev-85.22024996296-1/src/commands/apex/mutation/test/run.ts)_
178
178
  <!-- commandsstop -->
179
179
 
180
180
  ## Backlog
@@ -0,0 +1,9 @@
1
+ import { ParserRuleContext } from 'antlr4ts';
2
+ import { BaseListener } from './baseListener.js';
3
+ export declare class BitwiseOperatorMutator extends BaseListener {
4
+ private readonly REPLACEMENT_MAP;
5
+ enterBitAndExpression(ctx: ParserRuleContext): void;
6
+ enterBitOrExpression(ctx: ParserRuleContext): void;
7
+ enterBitNotExpression(ctx: ParserRuleContext): void;
8
+ private processBitwiseOperation;
9
+ }
@@ -0,0 +1,33 @@
1
+ import { TerminalNode } from 'antlr4ts/tree/index.js';
2
+ import { BaseListener } from './baseListener.js';
3
+ export class BitwiseOperatorMutator extends BaseListener {
4
+ REPLACEMENT_MAP = {
5
+ '&': '|',
6
+ '|': '&',
7
+ '^': '&',
8
+ };
9
+ enterBitAndExpression(ctx) {
10
+ this.processBitwiseOperation(ctx);
11
+ }
12
+ enterBitOrExpression(ctx) {
13
+ this.processBitwiseOperation(ctx);
14
+ }
15
+ enterBitNotExpression(ctx) {
16
+ this.processBitwiseOperation(ctx);
17
+ }
18
+ processBitwiseOperation(ctx) {
19
+ if (ctx.childCount !== 3) {
20
+ return;
21
+ }
22
+ const operatorNode = ctx.getChild(1);
23
+ if (!(operatorNode instanceof TerminalNode)) {
24
+ return;
25
+ }
26
+ const operatorText = operatorNode.text;
27
+ const replacement = this.REPLACEMENT_MAP[operatorText];
28
+ if (replacement) {
29
+ this.createMutationFromTerminalNode(operatorNode, replacement);
30
+ }
31
+ }
32
+ }
33
+ //# sourceMappingURL=bitwiseOperatorMutator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bitwiseOperatorMutator.js","sourceRoot":"","sources":["../../src/mutator/bitwiseOperatorMutator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,MAAM,OAAO,sBAAuB,SAAQ,YAAY;IACrC,eAAe,GAA2B;QACzD,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;KACT,CAAA;IAED,qBAAqB,CAAC,GAAsB;QAC1C,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAA;IACnC,CAAC;IAED,oBAAoB,CAAC,GAAsB;QACzC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAA;IACnC,CAAC;IAED,qBAAqB,CAAC,GAAsB;QAC1C,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAA;IACnC,CAAC;IAEO,uBAAuB,CAAC,GAAsB;QACpD,IAAI,GAAG,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;YACzB,OAAM;QACR,CAAC;QAED,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QAEpC,IAAI,CAAC,CAAC,YAAY,YAAY,YAAY,CAAC,EAAE,CAAC;YAC5C,OAAM;QACR,CAAC;QAED,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAA;QACtC,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAA;QAEtD,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,8BAA8B,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;QAChE,CAAC;IACH,CAAC;CACF"}
@@ -1,6 +1,7 @@
1
1
  import { TokenStreamRewriter } from 'antlr4ts';
2
2
  import { ApexLexer, ApexParser, CaseInsensitiveInputStream, CommonTokenStream, ParseTreeWalker, } from 'apex-parser';
3
3
  import { ArithmeticOperatorMutator } from '../mutator/arithmeticOperatorMutator.js';
4
+ import { BitwiseOperatorMutator } from '../mutator/bitwiseOperatorMutator.js';
4
5
  import { BoundaryConditionMutator } from '../mutator/boundaryConditionMutator.js';
5
6
  import { ConstructorCallMutator } from '../mutator/constructorCallMutator.js';
6
7
  import { EmptyReturnMutator } from '../mutator/emptyReturnMutator.js';
@@ -45,6 +46,7 @@ export class MutantGenerator {
45
46
  const removeConditionalsListener = new RemoveConditionalsMutator();
46
47
  const switchListener = new SwitchMutator();
47
48
  const experimentalSwitchListener = new ExperimentalSwitchMutator();
49
+ const bitwiseListener = new BitwiseOperatorMutator();
48
50
  const listener = new MutationListener([
49
51
  boundaryListener,
50
52
  incrementListener,
@@ -63,6 +65,7 @@ export class MutantGenerator {
63
65
  removeConditionalsListener,
64
66
  switchListener,
65
67
  experimentalSwitchListener,
68
+ bitwiseListener,
66
69
  ], coveredLines, methodTypeTable, sObjectDescribeRepository);
67
70
  ParseTreeWalker.DEFAULT.walk(listener, tree);
68
71
  return listener.getMutations();
@@ -1 +1 @@
1
- {"version":3,"file":"mutantGenerator.js","sourceRoot":"","sources":["../../src/service/mutantGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mutantGenerator.js","sourceRoot":"","sources":["../../src/service/mutantGenerator.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "apex-mutation-testing",
3
- "version": "1.3.0-dev-83.22024108564-1",
3
+ "version": "1.3.0-dev-85.22024996296-1",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "apex-mutation-testing",
9
- "version": "1.3.0-dev-83.22024108564-1",
9
+ "version": "1.3.0-dev-85.22024996296-1",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
12
  "@oclif/core": "^4.8.0",
@@ -115,5 +115,5 @@
115
115
  ]
116
116
  }
117
117
  },
118
- "version": "1.3.0-dev-83.22024108564-1"
118
+ "version": "1.3.0-dev-85.22024996296-1"
119
119
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "apex-mutation-testing",
3
3
  "description": "Apex mutation testing plugin",
4
- "version": "1.3.0-dev-83.22024108564-1",
4
+ "version": "1.3.0-dev-85.22024996296-1",
5
5
  "dependencies": {
6
6
  "@oclif/core": "^4.8.0",
7
7
  "@salesforce/apex-node": "^8.4.7",