mutant 0.9.10 → 0.10.0

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.
Files changed (254) hide show
  1. checksums.yaml +4 -4
  2. data/bin/mutant +16 -11
  3. data/lib/mutant.rb +8 -4
  4. data/lib/mutant/bootstrap.rb +14 -1
  5. data/lib/mutant/cli.rb +9 -162
  6. data/lib/mutant/cli/command.rb +196 -0
  7. data/lib/mutant/cli/command/root.rb +13 -0
  8. data/lib/mutant/cli/command/run.rb +151 -0
  9. data/lib/mutant/cli/command/subscription.rb +54 -0
  10. data/lib/mutant/expression.rb +0 -1
  11. data/lib/mutant/isolation.rb +1 -1
  12. data/lib/mutant/isolation/fork.rb +2 -2
  13. data/lib/mutant/isolation/none.rb +1 -1
  14. data/lib/mutant/license.rb +9 -35
  15. data/lib/mutant/license/subscription.rb +31 -9
  16. data/lib/mutant/license/subscription/commercial.rb +2 -4
  17. data/lib/mutant/license/subscription/opensource.rb +7 -7
  18. data/lib/mutant/matcher/config.rb +2 -0
  19. data/lib/mutant/meta/example.rb +16 -4
  20. data/lib/mutant/meta/example/dsl.rb +33 -16
  21. data/lib/mutant/meta/example/verification.rb +70 -28
  22. data/lib/mutant/minitest/coverage.rb +53 -0
  23. data/lib/mutant/mutator/node.rb +2 -2
  24. data/lib/mutant/mutator/node/block_pass.rb +29 -0
  25. data/lib/mutant/mutator/node/{dstr.rb → dynamic_literal.rb} +7 -5
  26. data/lib/mutant/mutator/node/index.rb +4 -4
  27. data/lib/mutant/mutator/node/literal/range.rb +5 -2
  28. data/lib/mutant/mutator/node/named_value/variable_assignment.rb +1 -1
  29. data/lib/mutant/mutator/node/noop.rb +1 -1
  30. data/lib/mutant/mutator/node/op_asgn.rb +15 -1
  31. data/lib/mutant/mutator/node/send.rb +25 -1
  32. data/lib/mutant/mutator/node/send/attribute_assignment.rb +1 -0
  33. data/lib/mutant/reporter/cli/printer/isolation_result.rb +9 -3
  34. data/lib/mutant/subject/method/instance.rb +1 -1
  35. data/lib/mutant/version.rb +1 -1
  36. metadata +18 -336
  37. data/.github/workflows/ci.yml +0 -121
  38. data/.gitignore +0 -38
  39. data/.rspec +0 -5
  40. data/.rubocop.yml +0 -210
  41. data/Changelog.md +0 -87
  42. data/Gemfile +0 -7
  43. data/Gemfile.lock +0 -107
  44. data/Gemfile.shared +0 -10
  45. data/README.md +0 -199
  46. data/Rakefile +0 -5
  47. data/config/devtools.yml +0 -2
  48. data/config/reek.yml +0 -139
  49. data/config/yardstick.yml +0 -2
  50. data/docs/commercial-support.md +0 -14
  51. data/docs/concurrency.md +0 -39
  52. data/docs/incremental.md +0 -76
  53. data/docs/known-problems.md +0 -30
  54. data/docs/limitations.md +0 -50
  55. data/docs/mutant-minitest.md +0 -149
  56. data/docs/mutant-rspec.md +0 -130
  57. data/docs/nomenclature.md +0 -82
  58. data/docs/reading-reports.md +0 -74
  59. data/lib/mutant/mutator/node/dsym.rb +0 -22
  60. data/meta/and.rb +0 -13
  61. data/meta/and_asgn.rb +0 -14
  62. data/meta/array.rb +0 -27
  63. data/meta/begin.rb +0 -20
  64. data/meta/block.rb +0 -199
  65. data/meta/block_pass.rb +0 -8
  66. data/meta/blockarg.rb +0 -10
  67. data/meta/break.rb +0 -9
  68. data/meta/case.rb +0 -217
  69. data/meta/casgn.rb +0 -25
  70. data/meta/cbase.rb +0 -8
  71. data/meta/class.rb +0 -12
  72. data/meta/const.rb +0 -17
  73. data/meta/csend.rb +0 -10
  74. data/meta/cvar.rb +0 -7
  75. data/meta/cvasgn.rb +0 -9
  76. data/meta/date.rb +0 -59
  77. data/meta/def.rb +0 -196
  78. data/meta/defined.rb +0 -9
  79. data/meta/dstr.rb +0 -13
  80. data/meta/dsym.rb +0 -14
  81. data/meta/ensure.rb +0 -8
  82. data/meta/false.rb +0 -7
  83. data/meta/file.rb +0 -5
  84. data/meta/float.rb +0 -37
  85. data/meta/gvar.rb +0 -7
  86. data/meta/gvasgn.rb +0 -9
  87. data/meta/hash.rb +0 -20
  88. data/meta/if.rb +0 -72
  89. data/meta/index.rb +0 -133
  90. data/meta/indexasgn.rb +0 -31
  91. data/meta/int.rb +0 -18
  92. data/meta/ivar.rb +0 -8
  93. data/meta/ivasgn.rb +0 -22
  94. data/meta/kwarg.rb +0 -10
  95. data/meta/kwbegin.rb +0 -8
  96. data/meta/kwoptarg.rb +0 -13
  97. data/meta/lambda.rb +0 -23
  98. data/meta/line.rb +0 -5
  99. data/meta/lvar.rb +0 -16
  100. data/meta/lvasgn.rb +0 -24
  101. data/meta/masgn.rb +0 -7
  102. data/meta/match_current_line.rb +0 -14
  103. data/meta/next.rb +0 -10
  104. data/meta/nil.rb +0 -5
  105. data/meta/nthref.rb +0 -14
  106. data/meta/op_assgn.rb +0 -17
  107. data/meta/or.rb +0 -13
  108. data/meta/or_asgn.rb +0 -50
  109. data/meta/range.rb +0 -65
  110. data/meta/redo.rb +0 -5
  111. data/meta/regexp.rb +0 -80
  112. data/meta/regopt.rb +0 -10
  113. data/meta/rescue.rb +0 -84
  114. data/meta/return.rb +0 -16
  115. data/meta/sclass.rb +0 -12
  116. data/meta/self.rb +0 -7
  117. data/meta/send.rb +0 -600
  118. data/meta/str.rb +0 -7
  119. data/meta/super.rb +0 -27
  120. data/meta/sym.rb +0 -8
  121. data/meta/true.rb +0 -7
  122. data/meta/until.rb +0 -16
  123. data/meta/while.rb +0 -24
  124. data/meta/yield.rb +0 -9
  125. data/mutant-minitest.gemspec +0 -22
  126. data/mutant-rspec.gemspec +0 -22
  127. data/mutant.gemspec +0 -44
  128. data/mutant.sh +0 -12
  129. data/mutant.yml +0 -6
  130. data/spec/integration/mutant/corpus_spec.rb +0 -15
  131. data/spec/integration/mutant/isolation/fork_spec.rb +0 -28
  132. data/spec/integration/mutant/minitest_spec.rb +0 -11
  133. data/spec/integration/mutant/null_spec.rb +0 -16
  134. data/spec/integration/mutant/rspec_spec.rb +0 -15
  135. data/spec/integration/mutant/test_mutator_handles_types_spec.rb +0 -9
  136. data/spec/integrations.yml +0 -63
  137. data/spec/shared/framework_integration_behavior.rb +0 -70
  138. data/spec/shared/method_matcher_behavior.rb +0 -47
  139. data/spec/spec_helper.rb +0 -90
  140. data/spec/support/corpus.rb +0 -318
  141. data/spec/support/file_system.rb +0 -62
  142. data/spec/support/ice_nine_config.rb +0 -10
  143. data/spec/support/ruby_vm.rb +0 -84
  144. data/spec/support/shared_context.rb +0 -169
  145. data/spec/support/xspec.rb +0 -183
  146. data/spec/unit/mutant/ast/find_metaclass_containing_spec.rb +0 -64
  147. data/spec/unit/mutant/ast/meta/optarg_spec.rb +0 -24
  148. data/spec/unit/mutant/ast/meta/send/proc_predicate_spec.rb +0 -30
  149. data/spec/unit/mutant/ast/meta/send/receiver_possible_top_level_const_predicate_spec.rb +0 -39
  150. data/spec/unit/mutant/ast/meta/send_spec.rb +0 -42
  151. data/spec/unit/mutant/ast/named_children_spec.rb +0 -89
  152. data/spec/unit/mutant/ast/sexp_spec.rb +0 -38
  153. data/spec/unit/mutant/ast_spec.rb +0 -57
  154. data/spec/unit/mutant/bootstrap_spec.rb +0 -216
  155. data/spec/unit/mutant/cli_spec.rb +0 -305
  156. data/spec/unit/mutant/clock_monotonic_spec.rb +0 -52
  157. data/spec/unit/mutant/config_spec.rb +0 -126
  158. data/spec/unit/mutant/context_spec.rb +0 -111
  159. data/spec/unit/mutant/env_spec.rb +0 -229
  160. data/spec/unit/mutant/expression/method_spec.rb +0 -62
  161. data/spec/unit/mutant/expression/methods_spec.rb +0 -66
  162. data/spec/unit/mutant/expression/namespace/exact_spec.rb +0 -28
  163. data/spec/unit/mutant/expression/namespace/recursive_spec.rb +0 -66
  164. data/spec/unit/mutant/expression/parser_spec.rb +0 -65
  165. data/spec/unit/mutant/expression_spec.rb +0 -45
  166. data/spec/unit/mutant/integration/rspec_spec.rb +0 -201
  167. data/spec/unit/mutant/integration_spec.rb +0 -150
  168. data/spec/unit/mutant/isolation/fork_spec.rb +0 -309
  169. data/spec/unit/mutant/isolation/none_spec.rb +0 -23
  170. data/spec/unit/mutant/isolation/result_spec.rb +0 -73
  171. data/spec/unit/mutant/license_spec.rb +0 -305
  172. data/spec/unit/mutant/loader_spec.rb +0 -79
  173. data/spec/unit/mutant/matcher/chain_spec.rb +0 -26
  174. data/spec/unit/mutant/matcher/compiler_spec.rb +0 -0
  175. data/spec/unit/mutant/matcher/config_spec.rb +0 -47
  176. data/spec/unit/mutant/matcher/filter_spec.rb +0 -22
  177. data/spec/unit/mutant/matcher/method/instance_spec.rb +0 -164
  178. data/spec/unit/mutant/matcher/method/metaclass_spec.rb +0 -108
  179. data/spec/unit/mutant/matcher/method/singleton_spec.rb +0 -90
  180. data/spec/unit/mutant/matcher/methods/instance_spec.rb +0 -54
  181. data/spec/unit/mutant/matcher/methods/metaclass_spec.rb +0 -62
  182. data/spec/unit/mutant/matcher/methods/singleton_spec.rb +0 -51
  183. data/spec/unit/mutant/matcher/namespace_spec.rb +0 -39
  184. data/spec/unit/mutant/matcher/null_spec.rb +0 -12
  185. data/spec/unit/mutant/matcher/scope_spec.rb +0 -45
  186. data/spec/unit/mutant/matcher/static_spec.rb +0 -13
  187. data/spec/unit/mutant/matcher_spec.rb +0 -102
  188. data/spec/unit/mutant/meta/example/dsl_spec.rb +0 -108
  189. data/spec/unit/mutant/meta/example/verification_spec.rb +0 -154
  190. data/spec/unit/mutant/meta/example_spec.rb +0 -34
  191. data/spec/unit/mutant/mutation_spec.rb +0 -140
  192. data/spec/unit/mutant/mutator/node_spec.rb +0 -47
  193. data/spec/unit/mutant/mutator_spec.rb +0 -21
  194. data/spec/unit/mutant/parallel/driver_spec.rb +0 -126
  195. data/spec/unit/mutant/parallel/source/array_spec.rb +0 -57
  196. data/spec/unit/mutant/parallel/worker_spec.rb +0 -206
  197. data/spec/unit/mutant/parallel_spec.rb +0 -115
  198. data/spec/unit/mutant/parser_spec.rb +0 -26
  199. data/spec/unit/mutant/range_spec.rb +0 -141
  200. data/spec/unit/mutant/registry_spec.rb +0 -74
  201. data/spec/unit/mutant/reporter/cli/printer/config_spec.rb +0 -17
  202. data/spec/unit/mutant/reporter/cli/printer/env_progress_spec.rb +0 -85
  203. data/spec/unit/mutant/reporter/cli/printer/env_result_spec.rb +0 -45
  204. data/spec/unit/mutant/reporter/cli/printer/isolation_result_spec.rb +0 -132
  205. data/spec/unit/mutant/reporter/cli/printer/mutation_progress_result_spec.rb +0 -25
  206. data/spec/unit/mutant/reporter/cli/printer/mutation_result_spec.rb +0 -153
  207. data/spec/unit/mutant/reporter/cli/printer/status_progressive_spec.rb +0 -45
  208. data/spec/unit/mutant/reporter/cli/printer/subject_progress_spec.rb +0 -36
  209. data/spec/unit/mutant/reporter/cli/printer/subject_result_spec.rb +0 -44
  210. data/spec/unit/mutant/reporter/cli/printer/test_result_spec.rb +0 -16
  211. data/spec/unit/mutant/reporter/cli/printer_spec.rb +0 -163
  212. data/spec/unit/mutant/reporter/cli_spec.rb +0 -137
  213. data/spec/unit/mutant/reporter/null_spec.rb +0 -14
  214. data/spec/unit/mutant/reporter/sequence_spec.rb +0 -31
  215. data/spec/unit/mutant/repository/diff/ranges_spec.rb +0 -180
  216. data/spec/unit/mutant/repository/diff_spec.rb +0 -122
  217. data/spec/unit/mutant/repository/subject_filter_spec.rb +0 -30
  218. data/spec/unit/mutant/require_highjack_spec.rb +0 -73
  219. data/spec/unit/mutant/result/class_methods_spec.rb +0 -51
  220. data/spec/unit/mutant/result/env_spec.rb +0 -161
  221. data/spec/unit/mutant/result/mutation_spec.rb +0 -70
  222. data/spec/unit/mutant/result/subject_spec.rb +0 -111
  223. data/spec/unit/mutant/result/test_spec.rb +0 -14
  224. data/spec/unit/mutant/result_spec.rb +0 -33
  225. data/spec/unit/mutant/runner/sink_spec.rb +0 -174
  226. data/spec/unit/mutant/runner_spec.rb +0 -121
  227. data/spec/unit/mutant/selector/expression_spec.rb +0 -62
  228. data/spec/unit/mutant/selector/null_spec.rb +0 -17
  229. data/spec/unit/mutant/subject/method/instance_spec.rb +0 -276
  230. data/spec/unit/mutant/subject/method/metaclass_spec.rb +0 -63
  231. data/spec/unit/mutant/subject/method/singleton_spec.rb +0 -61
  232. data/spec/unit/mutant/subject_spec.rb +0 -93
  233. data/spec/unit/mutant/transform/array_spec.rb +0 -92
  234. data/spec/unit/mutant/transform/bool_spec.rb +0 -63
  235. data/spec/unit/mutant/transform/error_spec.rb +0 -132
  236. data/spec/unit/mutant/transform/exception_spec.rb +0 -44
  237. data/spec/unit/mutant/transform/hash_spec.rb +0 -236
  238. data/spec/unit/mutant/transform/index_spec.rb +0 -92
  239. data/spec/unit/mutant/transform/named_spec.rb +0 -49
  240. data/spec/unit/mutant/transform/primitive_spec.rb +0 -56
  241. data/spec/unit/mutant/transform/sequence_spec.rb +0 -98
  242. data/spec/unit/mutant/util/one_spec.rb +0 -22
  243. data/spec/unit/mutant/warnings_spec.rb +0 -89
  244. data/spec/unit/mutant/world_spec.rb +0 -63
  245. data/spec/unit/mutant/zombifier_spec.rb +0 -122
  246. data/test_app/.rspec +0 -1
  247. data/test_app/Gemfile.minitest +0 -6
  248. data/test_app/Gemfile.rspec3.8 +0 -7
  249. data/test_app/lib/test_app.rb +0 -114
  250. data/test_app/lib/test_app/literal.rb +0 -35
  251. data/test_app/lib/test_app/metaclasses.rb +0 -108
  252. data/test_app/spec/spec_helper.rb +0 -9
  253. data/test_app/spec/unit/test_app/literal_spec.rb +0 -20
  254. data/test_app/test/unit/test_app/literal_test.rb +0 -16
@@ -1,8 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Mutant::Meta::Example.add :block_pass do
4
- source 'foo(&bar)'
5
-
6
- singleton_mutations
7
- mutation 'foo'
8
- end
@@ -1,10 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Mutant::Meta::Example.add :blockarg do
4
- source 'foo { |&bar| }'
5
-
6
- singleton_mutations
7
- mutation 'foo { |&bar| raise }'
8
- mutation 'foo {}'
9
- mutation 'foo'
10
- end
@@ -1,9 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Mutant::Meta::Example.add :break do
4
- source 'break true'
5
-
6
- singleton_mutations
7
- mutation 'break false'
8
- mutation 'break'
9
- end
@@ -1,217 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Mutant::Meta::Example.add :case do
4
- source <<-RUBY
5
- case
6
- when true
7
- else
8
- end
9
- RUBY
10
-
11
- singleton_mutations
12
-
13
- mutation <<-RUBY
14
- case
15
- when true
16
- raise
17
- else
18
- end
19
- RUBY
20
- mutation <<-RUBY
21
- case
22
- when false
23
- else
24
- end
25
- RUBY
26
- end
27
-
28
- # rubocop:disable Metrics/BlockLength
29
- Mutant::Meta::Example.add :case do
30
- source <<-RUBY
31
- case condition
32
- when A
33
- when B, C
34
- C
35
- else
36
- D
37
- end
38
- RUBY
39
-
40
- singleton_mutations
41
-
42
- mutation <<-RUBY
43
- case nil
44
- when A
45
- when B, C
46
- C
47
- else
48
- D
49
- end
50
- RUBY
51
-
52
- mutation <<-RUBY
53
- case self
54
- when A
55
- when B, C
56
- C
57
- else
58
- D
59
- end
60
- RUBY
61
-
62
- mutation <<-RUBY
63
- case condition
64
- when A
65
- raise
66
- when B, C
67
- C
68
- else
69
- D
70
- end
71
- RUBY
72
-
73
- mutation <<-RUBY
74
- case condition
75
- when nil
76
- when B, C
77
- C
78
- else
79
- D
80
- end
81
- RUBY
82
-
83
- mutation <<-RUBY
84
- case condition
85
- when self
86
- when B, C
87
- C
88
- else
89
- D
90
- end
91
- RUBY
92
-
93
- mutation <<-RUBY
94
- case condition
95
- when B, C
96
- C
97
- else
98
- D
99
- end
100
- RUBY
101
-
102
- mutation <<-RUBY
103
- case condition
104
- when A
105
- when B, C
106
- nil
107
- else
108
- D
109
- end
110
- RUBY
111
-
112
- mutation <<-RUBY
113
- case condition
114
- when A
115
- when B, C
116
- self
117
- else
118
- D
119
- end
120
- RUBY
121
-
122
- mutation <<-RUBY
123
- case condition
124
- when A
125
- when C
126
- C
127
- else
128
- D
129
- end
130
- RUBY
131
-
132
- mutation <<-RUBY
133
- case condition
134
- when A
135
- when nil, C
136
- C
137
- else
138
- D
139
- end
140
- RUBY
141
-
142
- mutation <<-RUBY
143
- case condition
144
- when A
145
- when self, C
146
- C
147
- else
148
- D
149
- end
150
- RUBY
151
-
152
- mutation <<-RUBY
153
- case condition
154
- when A
155
- when B
156
- C
157
- else
158
- D
159
- end
160
- RUBY
161
-
162
- mutation <<-RUBY
163
- case condition
164
- when A
165
- when B, nil
166
- C
167
- else
168
- D
169
- end
170
- RUBY
171
-
172
- mutation <<-RUBY
173
- case condition
174
- when A
175
- when B, self
176
- C
177
- else
178
- D
179
- end
180
- RUBY
181
-
182
- mutation <<-RUBY
183
- case condition
184
- when A
185
- else
186
- D
187
- end
188
- RUBY
189
-
190
- mutation <<-RUBY
191
- case condition
192
- when A
193
- when B, C
194
- C
195
- else
196
- nil
197
- end
198
- RUBY
199
-
200
- mutation <<-RUBY
201
- case condition
202
- when A
203
- when B, C
204
- C
205
- else
206
- self
207
- end
208
- RUBY
209
-
210
- mutation <<-RUBY
211
- case condition
212
- when A
213
- when B, C
214
- C
215
- end
216
- RUBY
217
- end
@@ -1,25 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Mutant::Meta::Example.add :casgn do
4
- source 'A = true'
5
-
6
- mutation 'A__MUTANT__ = true'
7
- mutation 'A = false'
8
- mutation 'remove_const :A'
9
- end
10
-
11
- Mutant::Meta::Example.add :casgn do
12
- source 'self::A = true'
13
-
14
- mutation 'self::A__MUTANT__ = true'
15
- mutation 'self::A = false'
16
- mutation 'self.remove_const :A'
17
- end
18
-
19
- Mutant::Meta::Example.add :casgn do
20
- source 'A &&= true'
21
-
22
- singleton_mutations
23
- mutation 'A__MUTANT__ &&= true'
24
- mutation 'A &&= false'
25
- end
@@ -1,8 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Mutant::Meta::Example.add :cbase do
4
- source '::A'
5
-
6
- singleton_mutations
7
- mutation 'A'
8
- end
@@ -1,12 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Mutant::Meta::Example.add :class do
4
- source 'class Foo; bar; end'
5
-
6
- mutation 'class Foo; nil; end'
7
- mutation 'class Foo; self; end'
8
- end
9
-
10
- Mutant::Meta::Example.add :class do
11
- source 'class Foo; end'
12
- end
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Mutant::Meta::Example.add :const do
4
- source 'A::B::C'
5
-
6
- singleton_mutations
7
- mutation 'B::C'
8
- mutation 'C'
9
- end
10
-
11
- Mutant::Meta::Example.add :const do
12
- source 'A.foo'
13
-
14
- singleton_mutations
15
- mutation 'A'
16
- mutation 'self.foo'
17
- end
@@ -1,10 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Mutant::Meta::Example.add :csend do
4
- source 'a&.b'
5
-
6
- singleton_mutations
7
- mutation 'a.b'
8
- mutation 'self&.b'
9
- mutation 'a'
10
- end
@@ -1,7 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Mutant::Meta::Example.add :cvar do
4
- source '@@a'
5
-
6
- singleton_mutations
7
- end
@@ -1,9 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Mutant::Meta::Example.add :cvasgn do
4
- source '@@a = true'
5
-
6
- singleton_mutations
7
- mutation '@@a__mutant__ = true'
8
- mutation '@@a = false'
9
- end
@@ -1,59 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Mutant::Meta::Example.add :send do
4
- source 'Date.parse(nil)'
5
-
6
- singleton_mutations
7
- mutation 'Date.parse'
8
- mutation 'self.parse(nil)'
9
- mutation 'Date'
10
- mutation 'Date.jd(nil)'
11
- mutation 'Date.civil(nil)'
12
- mutation 'Date.strptime(nil)'
13
- mutation 'Date.iso8601(nil)'
14
- mutation 'Date.rfc3339(nil)'
15
- mutation 'Date.xmlschema(nil)'
16
- mutation 'Date.rfc2822(nil)'
17
- mutation 'Date.rfc822(nil)'
18
- mutation 'Date.httpdate(nil)'
19
- mutation 'Date.jisx0301(nil)'
20
- end
21
-
22
- Mutant::Meta::Example.add :send do
23
- source '::Date.parse(nil)'
24
-
25
- singleton_mutations
26
- mutation '::Date.parse'
27
- mutation 'Date.parse(nil)'
28
- mutation 'self.parse(nil)'
29
- mutation '::Date'
30
- mutation '::Date.jd(nil)'
31
- mutation '::Date.civil(nil)'
32
- mutation '::Date.strptime(nil)'
33
- mutation '::Date.iso8601(nil)'
34
- mutation '::Date.rfc3339(nil)'
35
- mutation '::Date.xmlschema(nil)'
36
- mutation '::Date.rfc2822(nil)'
37
- mutation '::Date.rfc822(nil)'
38
- mutation '::Date.httpdate(nil)'
39
- mutation '::Date.jisx0301(nil)'
40
- end
41
-
42
- Mutant::Meta::Example.add :send do
43
- source 'Date.iso8601(nil)'
44
-
45
- singleton_mutations
46
- mutation 'Date.iso8601'
47
- mutation 'self.iso8601(nil)'
48
- mutation 'Date'
49
- end
50
-
51
- Mutant::Meta::Example.add :send do
52
- source 'Foo::Date.parse(nil)'
53
-
54
- singleton_mutations
55
- mutation 'Foo::Date.parse'
56
- mutation 'Foo::Date'
57
- mutation 'Date.parse(nil)'
58
- mutation 'self.parse(nil)'
59
- end
@@ -1,196 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Mutant::Meta::Example.add :def do
4
- source 'def foo; end'
5
-
6
- mutation 'def foo; raise; end'
7
- mutation 'def foo; super; end'
8
- end
9
-
10
- Mutant::Meta::Example.add :def do
11
- source 'def foo; foo; rescue; end'
12
-
13
- mutation 'def foo; raise; end'
14
- mutation 'def foo; nil; rescue; end'
15
- mutation 'def foo; self; rescue; end'
16
- mutation 'def foo; end'
17
- mutation 'def foo; super; end'
18
-
19
- # Promote rescue resbody bodies
20
- mutation 'def foo; foo; end'
21
- end
22
-
23
- Mutant::Meta::Example.add :def do
24
- source 'def a; foo; rescue; bar; else; baz; end'
25
-
26
- # Mutate all bodies
27
- mutation 'def a; nil; rescue; bar; else; baz; end'
28
- mutation 'def a; self; rescue; bar; else; baz; end'
29
- mutation 'def a; foo; rescue; nil; else; baz; end'
30
- mutation 'def a; foo; rescue; self; else; baz; end'
31
- mutation 'def a; foo; rescue; bar; else; nil; end'
32
- mutation 'def a; foo; rescue; bar; else; self; end'
33
-
34
- # Promote and concat rescue resbody bodies
35
- mutation 'def a; foo; bar; end'
36
-
37
- # Promote and concat else body
38
- mutation 'def a; foo; baz; end'
39
-
40
- # Promote rescue body
41
- mutation 'def a; foo; end'
42
-
43
- # Empty body
44
- mutation 'def a; end'
45
-
46
- # Failing body
47
- mutation 'def a; raise; end'
48
-
49
- # Superclass implementation
50
- mutation 'def a; super; end'
51
- end
52
-
53
- Mutant::Meta::Example.add :def do
54
- source 'def foo; true; false; end'
55
-
56
- # Mutation of each statement in block
57
- mutation 'def foo; true; true; end'
58
- mutation 'def foo; false; false; end'
59
-
60
- # Remove statement in block
61
- mutation 'def foo; true; end'
62
- mutation 'def foo; false; end'
63
-
64
- # Remove all statements
65
- mutation 'def foo; end'
66
-
67
- mutation 'def foo; raise; end'
68
-
69
- mutation 'def foo; super; end'
70
- end
71
-
72
- Mutant::Meta::Example.add :def do
73
- source 'def foo(a, b); end'
74
-
75
- # Deletion of each argument
76
- mutation 'def foo(a); end'
77
- mutation 'def foo(b); end'
78
-
79
- # Deletion of all arguments
80
- mutation 'def foo; end'
81
-
82
- # Rename each argument
83
- mutation 'def foo(_a, b); end'
84
- mutation 'def foo(a, _b); end'
85
-
86
- # Mutation of body
87
- mutation 'def foo(a, b); raise; end'
88
- mutation 'def foo(a, b); super; end'
89
- end
90
-
91
- Mutant::Meta::Example.add :def do
92
- source 'def foo(a, b = nil); true; end'
93
-
94
- mutation 'def foo(_a, b = nil); true; end'
95
- mutation 'def foo(a, b = nil); end'
96
- mutation 'def foo; true; end'
97
- mutation 'def foo(a, b = nil); raise; end'
98
- mutation 'def foo(a, b = nil); false; end'
99
- mutation 'def foo(a); true; end'
100
- mutation 'def foo(a, b = nil); b = nil; true; end'
101
- mutation 'def foo(b = nil); true; end'
102
- mutation 'def foo(a, _b = nil); true; end'
103
- mutation 'def foo(a, b); true; end'
104
- mutation 'def foo(a, b = nil); super; end'
105
- end
106
-
107
- Mutant::Meta::Example.add :def, :arg do
108
- source 'def foo(_unused); end'
109
-
110
- mutation 'def foo(_unused); raise; end'
111
- mutation 'def foo; end'
112
- mutation 'def foo(_unused); super; end'
113
- end
114
-
115
- Mutant::Meta::Example.add :def do
116
- source 'def foo(_unused = true); end'
117
-
118
- mutation 'def foo(_unused = false); end'
119
- mutation 'def foo(_unused = true); raise; end'
120
- mutation 'def foo(_unused); end'
121
- mutation 'def foo; end'
122
- mutation 'def foo(_unused = true); super; end'
123
- end
124
-
125
- Mutant::Meta::Example.add :def do
126
- source 'def foo(a = 0, b = 0); end'
127
- mutation 'def foo(a = 0, _b = 0); end'
128
- mutation 'def foo(_a = 0, b = 0); end'
129
- mutation 'def foo(a = 0, b = 1); end'
130
- mutation 'def foo(a = 0, b = -1); end'
131
- mutation 'def foo(a = 0, b = self); end'
132
- mutation 'def foo(a = 0, b = nil); end'
133
- mutation 'def foo(a = -1, b = 0); end'
134
- mutation 'def foo(a = self, b = 0); end'
135
- mutation 'def foo(a = nil, b = 0); end'
136
- mutation 'def foo(a = 1, b = 0); end'
137
- mutation 'def foo(a = 0); end'
138
- mutation 'def foo(b = 0); end'
139
- mutation 'def foo(a, b = 0); end'
140
- mutation 'def foo; end'
141
- mutation 'def foo(a = 0, b = 0); a = 0; end'
142
- mutation 'def foo(a = 0, b = 0); b = 0; end'
143
- mutation 'def foo(a = 0, b = 0); raise; end'
144
- mutation 'def foo(a = 0, b = 0); super; end'
145
- end
146
-
147
- Mutant::Meta::Example.add :def do
148
- source 'def foo(a = true); end'
149
-
150
- mutation 'def foo(a); end'
151
- mutation 'def foo(); end'
152
- mutation 'def foo(a = false); end'
153
- mutation 'def foo(_a = true); end'
154
- mutation 'def foo(a = true); raise; end'
155
- mutation 'def foo(a = true); a = true; end'
156
- mutation 'def foo(a = true); super; end'
157
- end
158
-
159
- Mutant::Meta::Example.add :def do
160
- source 'def self.foo; true; false; end'
161
-
162
- # Body presence mutation
163
- mutation 'def self.foo; false; false; end'
164
- mutation 'def self.foo; true; true; end'
165
-
166
- # Body presence mutation
167
- mutation 'def self.foo; true; end'
168
- mutation 'def self.foo; false; end'
169
-
170
- # Remove all statements
171
- mutation 'def self.foo; end'
172
-
173
- mutation 'def self.foo; raise; end'
174
-
175
- mutation 'def self.foo; super; end'
176
- end
177
-
178
- Mutant::Meta::Example.add :def do
179
-
180
- source 'def self.foo(a, b); end'
181
-
182
- # Deletion of each argument
183
- mutation 'def self.foo(a); end'
184
- mutation 'def self.foo(b); end'
185
-
186
- # Deletion of all arguments
187
- mutation 'def self.foo; end'
188
-
189
- # Rename each argument
190
- mutation 'def self.foo(_a, b); end'
191
- mutation 'def self.foo(a, _b); end'
192
-
193
- # Mutation of body
194
- mutation 'def self.foo(a, b); raise; end'
195
- mutation 'def self.foo(a, b); super; end'
196
- end