mutant 0.9.7 → 0.9.12

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 (336) hide show
  1. checksums.yaml +4 -4
  2. data/lib/mutant.rb +5 -2
  3. data/lib/mutant/ast.rb +0 -9
  4. data/lib/mutant/ast/find_metaclass_containing.rb +48 -0
  5. data/lib/mutant/ast/meta/send.rb +0 -6
  6. data/lib/mutant/bootstrap.rb +0 -36
  7. data/lib/mutant/cli.rb +5 -49
  8. data/lib/mutant/config.rb +0 -8
  9. data/lib/mutant/context.rb +0 -3
  10. data/lib/mutant/env.rb +0 -6
  11. data/lib/mutant/expression/method.rb +6 -6
  12. data/lib/mutant/expression/methods.rb +6 -6
  13. data/lib/mutant/expression/parser.rb +0 -6
  14. data/lib/mutant/integration.rb +0 -18
  15. data/lib/mutant/isolation.rb +1 -1
  16. data/lib/mutant/isolation/fork.rb +2 -24
  17. data/lib/mutant/isolation/none.rb +1 -1
  18. data/lib/mutant/license.rb +11 -0
  19. data/lib/mutant/matcher.rb +0 -14
  20. data/lib/mutant/matcher/config.rb +0 -11
  21. data/lib/mutant/matcher/method.rb +0 -31
  22. data/lib/mutant/matcher/method/instance.rb +0 -8
  23. data/lib/mutant/matcher/method/metaclass.rb +86 -0
  24. data/lib/mutant/matcher/method/singleton.rb +0 -25
  25. data/lib/mutant/matcher/methods.rb +17 -28
  26. data/lib/mutant/matcher/namespace.rb +0 -10
  27. data/lib/mutant/matcher/scope.rb +2 -4
  28. data/lib/mutant/meta/example/dsl.rb +0 -21
  29. data/lib/mutant/meta/example/verification.rb +0 -20
  30. data/lib/mutant/minitest/coverage.rb +53 -0
  31. data/lib/mutant/mutation.rb +0 -3
  32. data/lib/mutant/mutator.rb +1 -29
  33. data/lib/mutant/mutator/node.rb +1 -66
  34. data/lib/mutant/mutator/node/and_asgn.rb +0 -3
  35. data/lib/mutant/mutator/node/argument.rb +0 -15
  36. data/lib/mutant/mutator/node/arguments.rb +0 -20
  37. data/lib/mutant/mutator/node/begin.rb +0 -3
  38. data/lib/mutant/mutator/node/binary.rb +0 -23
  39. data/lib/mutant/mutator/node/block.rb +0 -15
  40. data/lib/mutant/mutator/node/block_pass.rb +29 -0
  41. data/lib/mutant/mutator/node/break.rb +0 -3
  42. data/lib/mutant/mutator/node/case.rb +0 -9
  43. data/lib/mutant/mutator/node/class.rb +0 -3
  44. data/lib/mutant/mutator/node/conditional_loop.rb +0 -3
  45. data/lib/mutant/mutator/node/const.rb +0 -3
  46. data/lib/mutant/mutator/node/define.rb +0 -11
  47. data/lib/mutant/mutator/node/defined.rb +0 -3
  48. data/lib/mutant/mutator/node/dstr.rb +0 -3
  49. data/lib/mutant/mutator/node/dsym.rb +0 -3
  50. data/lib/mutant/mutator/node/generic.rb +0 -74
  51. data/lib/mutant/mutator/node/if.rb +0 -12
  52. data/lib/mutant/mutator/node/index.rb +0 -27
  53. data/lib/mutant/mutator/node/kwbegin.rb +0 -3
  54. data/lib/mutant/mutator/node/literal.rb +0 -3
  55. data/lib/mutant/mutator/node/literal/array.rb +0 -6
  56. data/lib/mutant/mutator/node/literal/boolean.rb +0 -4
  57. data/lib/mutant/mutator/node/literal/float.rb +0 -9
  58. data/lib/mutant/mutator/node/literal/hash.rb +0 -9
  59. data/lib/mutant/mutator/node/literal/integer.rb +0 -9
  60. data/lib/mutant/mutator/node/literal/nil.rb +0 -3
  61. data/lib/mutant/mutator/node/literal/range.rb +4 -7
  62. data/lib/mutant/mutator/node/literal/regex.rb +0 -6
  63. data/lib/mutant/mutator/node/literal/string.rb +0 -3
  64. data/lib/mutant/mutator/node/literal/symbol.rb +0 -3
  65. data/lib/mutant/mutator/node/masgn.rb +0 -3
  66. data/lib/mutant/mutator/node/match_current_line.rb +0 -3
  67. data/lib/mutant/mutator/node/mlhs.rb +0 -3
  68. data/lib/mutant/mutator/node/named_value/access.rb +2 -14
  69. data/lib/mutant/mutator/node/named_value/constant_assignment.rb +0 -9
  70. data/lib/mutant/mutator/node/named_value/variable_assignment.rb +0 -6
  71. data/lib/mutant/mutator/node/next.rb +0 -3
  72. data/lib/mutant/mutator/node/noop.rb +1 -4
  73. data/lib/mutant/mutator/node/nthref.rb +0 -3
  74. data/lib/mutant/mutator/node/op_asgn.rb +0 -3
  75. data/lib/mutant/mutator/node/or_asgn.rb +0 -3
  76. data/lib/mutant/mutator/node/procarg_zero.rb +0 -3
  77. data/lib/mutant/mutator/node/regopt.rb +0 -6
  78. data/lib/mutant/mutator/node/resbody.rb +0 -6
  79. data/lib/mutant/mutator/node/rescue.rb +2 -19
  80. data/lib/mutant/mutator/node/return.rb +0 -3
  81. data/lib/mutant/mutator/node/sclass.rb +20 -0
  82. data/lib/mutant/mutator/node/send.rb +26 -61
  83. data/lib/mutant/mutator/node/send/attribute_assignment.rb +0 -9
  84. data/lib/mutant/mutator/node/send/binary.rb +0 -11
  85. data/lib/mutant/mutator/node/send/conditional.rb +0 -3
  86. data/lib/mutant/mutator/node/splat.rb +0 -3
  87. data/lib/mutant/mutator/node/super.rb +0 -3
  88. data/lib/mutant/mutator/node/when.rb +0 -19
  89. data/lib/mutant/mutator/node/yield.rb +0 -3
  90. data/lib/mutant/mutator/node/zsuper.rb +0 -3
  91. data/lib/mutant/mutator/util/array.rb +0 -6
  92. data/lib/mutant/mutator/util/symbol.rb +0 -3
  93. data/lib/mutant/parallel.rb +0 -13
  94. data/lib/mutant/parallel/driver.rb +0 -10
  95. data/lib/mutant/parallel/worker.rb +0 -22
  96. data/lib/mutant/registry.rb +2 -7
  97. data/lib/mutant/reporter/cli.rb +0 -5
  98. data/lib/mutant/reporter/cli/format.rb +0 -9
  99. data/lib/mutant/reporter/cli/printer.rb +2 -42
  100. data/lib/mutant/reporter/cli/printer/env_progress.rb +0 -15
  101. data/lib/mutant/reporter/cli/printer/isolation_result.rb +0 -18
  102. data/lib/mutant/reporter/cli/printer/mutation_progress_result.rb +0 -5
  103. data/lib/mutant/reporter/cli/printer/mutation_result.rb +1 -22
  104. data/lib/mutant/reporter/cli/printer/status_progressive.rb +0 -8
  105. data/lib/mutant/reporter/cli/printer/subject_progress.rb +0 -9
  106. data/lib/mutant/repository/diff.rb +1 -13
  107. data/lib/mutant/repository/diff/ranges.rb +0 -11
  108. data/lib/mutant/result.rb +0 -3
  109. data/lib/mutant/runner.rb +0 -18
  110. data/lib/mutant/runner/sink.rb +0 -5
  111. data/lib/mutant/subject.rb +0 -8
  112. data/lib/mutant/subject/method.rb +0 -3
  113. data/lib/mutant/subject/method/instance.rb +40 -6
  114. data/lib/mutant/subject/method/metaclass.rb +30 -0
  115. data/lib/mutant/transform.rb +0 -92
  116. data/lib/mutant/version.rb +1 -1
  117. data/lib/mutant/warnings.rb +0 -6
  118. data/lib/mutant/zombifier.rb +2 -34
  119. metadata +61 -333
  120. data/.circleci/config.yml +0 -53
  121. data/.gitignore +0 -38
  122. data/.rspec +0 -5
  123. data/.rubocop.yml +0 -7
  124. data/Changelog.md +0 -71
  125. data/Gemfile +0 -14
  126. data/Gemfile.lock +0 -167
  127. data/Gemfile.shared +0 -3
  128. data/README.md +0 -138
  129. data/Rakefile +0 -5
  130. data/config/devtools.yml +0 -2
  131. data/config/reek.yml +0 -138
  132. data/config/rubocop.yml +0 -205
  133. data/config/yardstick.yml +0 -2
  134. data/docs/commercial-support.md +0 -14
  135. data/docs/concurrency.md +0 -39
  136. data/docs/incremental.md +0 -76
  137. data/docs/known-problems.md +0 -30
  138. data/docs/limitations.md +0 -50
  139. data/docs/mutant-minitest.md +0 -149
  140. data/docs/mutant-rspec.md +0 -130
  141. data/docs/nomenclature.md +0 -82
  142. data/docs/reading-reports.md +0 -74
  143. data/lib/mutant/color.rb +0 -43
  144. data/lib/mutant/diff.rb +0 -114
  145. data/meta/and.rb +0 -15
  146. data/meta/and_asgn.rb +0 -14
  147. data/meta/array.rb +0 -30
  148. data/meta/begin.rb +0 -23
  149. data/meta/block.rb +0 -202
  150. data/meta/block_pass.rb +0 -8
  151. data/meta/blockarg.rb +0 -10
  152. data/meta/break.rb +0 -10
  153. data/meta/case.rb +0 -223
  154. data/meta/casgn.rb +0 -28
  155. data/meta/cbase.rb +0 -8
  156. data/meta/class.rb +0 -12
  157. data/meta/const.rb +0 -17
  158. data/meta/csend.rb +0 -10
  159. data/meta/cvar.rb +0 -7
  160. data/meta/cvasgn.rb +0 -10
  161. data/meta/date.rb +0 -59
  162. data/meta/def.rb +0 -203
  163. data/meta/defined.rb +0 -9
  164. data/meta/dstr.rb +0 -13
  165. data/meta/dsym.rb +0 -14
  166. data/meta/ensure.rb +0 -9
  167. data/meta/false.rb +0 -8
  168. data/meta/file.rb +0 -5
  169. data/meta/float.rb +0 -37
  170. data/meta/gvar.rb +0 -7
  171. data/meta/gvasgn.rb +0 -10
  172. data/meta/hash.rb +0 -24
  173. data/meta/if.rb +0 -77
  174. data/meta/index.rb +0 -133
  175. data/meta/indexasgn.rb +0 -31
  176. data/meta/int.rb +0 -18
  177. data/meta/ivar.rb +0 -8
  178. data/meta/ivasgn.rb +0 -23
  179. data/meta/kwarg.rb +0 -10
  180. data/meta/kwbegin.rb +0 -9
  181. data/meta/kwoptarg.rb +0 -13
  182. data/meta/lambda.rb +0 -23
  183. data/meta/line.rb +0 -5
  184. data/meta/lvar.rb +0 -16
  185. data/meta/lvasgn.rb +0 -25
  186. data/meta/masgn.rb +0 -7
  187. data/meta/match_current_line.rb +0 -15
  188. data/meta/next.rb +0 -11
  189. data/meta/nil.rb +0 -5
  190. data/meta/nthref.rb +0 -14
  191. data/meta/op_assgn.rb +0 -17
  192. data/meta/or.rb +0 -15
  193. data/meta/or_asgn.rb +0 -50
  194. data/meta/range.rb +0 -39
  195. data/meta/redo.rb +0 -5
  196. data/meta/regexp.rb +0 -81
  197. data/meta/regopt.rb +0 -10
  198. data/meta/rescue.rb +0 -90
  199. data/meta/return.rb +0 -16
  200. data/meta/self.rb +0 -7
  201. data/meta/send.rb +0 -604
  202. data/meta/str.rb +0 -7
  203. data/meta/super.rb +0 -27
  204. data/meta/sym.rb +0 -8
  205. data/meta/true.rb +0 -8
  206. data/meta/until.rb +0 -17
  207. data/meta/while.rb +0 -26
  208. data/meta/yield.rb +0 -10
  209. data/mutant-minitest.gemspec +0 -22
  210. data/mutant-rspec.gemspec +0 -22
  211. data/mutant.gemspec +0 -41
  212. data/mutant.yml +0 -6
  213. data/spec/integration/mutant/corpus_spec.rb +0 -15
  214. data/spec/integration/mutant/isolation/fork_spec.rb +0 -28
  215. data/spec/integration/mutant/minitest_spec.rb +0 -11
  216. data/spec/integration/mutant/null_spec.rb +0 -16
  217. data/spec/integration/mutant/rspec_spec.rb +0 -15
  218. data/spec/integration/mutant/test_mutator_handles_types_spec.rb +0 -9
  219. data/spec/integrations.yml +0 -63
  220. data/spec/shared/base_behavior.rb +0 -45
  221. data/spec/shared/framework_integration_behavior.rb +0 -70
  222. data/spec/shared/method_matcher_behavior.rb +0 -47
  223. data/spec/spec_helper.rb +0 -75
  224. data/spec/support/corpus.rb +0 -318
  225. data/spec/support/file_system.rb +0 -62
  226. data/spec/support/ice_nine_config.rb +0 -10
  227. data/spec/support/ruby_vm.rb +0 -84
  228. data/spec/support/shared_context.rb +0 -169
  229. data/spec/support/test_app.rb +0 -7
  230. data/spec/support/warnings.yml +0 -6
  231. data/spec/support/xspec.rb +0 -183
  232. data/spec/unit/mutant/ast/meta/optarg_spec.rb +0 -24
  233. data/spec/unit/mutant/ast/meta/send/proc_predicate_spec.rb +0 -30
  234. data/spec/unit/mutant/ast/meta/send/receiver_possible_top_level_const_predicate_spec.rb +0 -39
  235. data/spec/unit/mutant/ast/meta/send_spec.rb +0 -42
  236. data/spec/unit/mutant/ast/named_children_spec.rb +0 -89
  237. data/spec/unit/mutant/ast/sexp_spec.rb +0 -38
  238. data/spec/unit/mutant/ast_spec.rb +0 -57
  239. data/spec/unit/mutant/bootstrap_spec.rb +0 -216
  240. data/spec/unit/mutant/cli_spec.rb +0 -305
  241. data/spec/unit/mutant/clock_monotonic_spec.rb +0 -52
  242. data/spec/unit/mutant/config_spec.rb +0 -126
  243. data/spec/unit/mutant/context_spec.rb +0 -111
  244. data/spec/unit/mutant/diff_spec.rb +0 -189
  245. data/spec/unit/mutant/env_spec.rb +0 -229
  246. data/spec/unit/mutant/expression/method_spec.rb +0 -62
  247. data/spec/unit/mutant/expression/methods_spec.rb +0 -61
  248. data/spec/unit/mutant/expression/namespace/exact_spec.rb +0 -28
  249. data/spec/unit/mutant/expression/namespace/recursive_spec.rb +0 -66
  250. data/spec/unit/mutant/expression/parser_spec.rb +0 -65
  251. data/spec/unit/mutant/expression_spec.rb +0 -45
  252. data/spec/unit/mutant/integration/rspec_spec.rb +0 -201
  253. data/spec/unit/mutant/integration_spec.rb +0 -150
  254. data/spec/unit/mutant/isolation/fork_spec.rb +0 -309
  255. data/spec/unit/mutant/isolation/none_spec.rb +0 -23
  256. data/spec/unit/mutant/isolation/result_spec.rb +0 -73
  257. data/spec/unit/mutant/license_spec.rb +0 -293
  258. data/spec/unit/mutant/loader_spec.rb +0 -79
  259. data/spec/unit/mutant/matcher/chain_spec.rb +0 -26
  260. data/spec/unit/mutant/matcher/compiler_spec.rb +0 -0
  261. data/spec/unit/mutant/matcher/config_spec.rb +0 -47
  262. data/spec/unit/mutant/matcher/filter_spec.rb +0 -22
  263. data/spec/unit/mutant/matcher/method/instance_spec.rb +0 -164
  264. data/spec/unit/mutant/matcher/method/singleton_spec.rb +0 -90
  265. data/spec/unit/mutant/matcher/methods/instance_spec.rb +0 -54
  266. data/spec/unit/mutant/matcher/methods/singleton_spec.rb +0 -51
  267. data/spec/unit/mutant/matcher/namespace_spec.rb +0 -37
  268. data/spec/unit/mutant/matcher/null_spec.rb +0 -12
  269. data/spec/unit/mutant/matcher/scope_spec.rb +0 -35
  270. data/spec/unit/mutant/matcher/static_spec.rb +0 -13
  271. data/spec/unit/mutant/matcher_spec.rb +0 -102
  272. data/spec/unit/mutant/meta/example/dsl_spec.rb +0 -108
  273. data/spec/unit/mutant/meta/example/verification_spec.rb +0 -154
  274. data/spec/unit/mutant/meta/example_spec.rb +0 -34
  275. data/spec/unit/mutant/mutation_spec.rb +0 -140
  276. data/spec/unit/mutant/mutator/node_spec.rb +0 -52
  277. data/spec/unit/mutant/mutator_spec.rb +0 -21
  278. data/spec/unit/mutant/parallel/driver_spec.rb +0 -126
  279. data/spec/unit/mutant/parallel/source/array_spec.rb +0 -57
  280. data/spec/unit/mutant/parallel/worker_spec.rb +0 -206
  281. data/spec/unit/mutant/parallel_spec.rb +0 -115
  282. data/spec/unit/mutant/parser_spec.rb +0 -26
  283. data/spec/unit/mutant/range_spec.rb +0 -141
  284. data/spec/unit/mutant/registry_spec.rb +0 -47
  285. data/spec/unit/mutant/reporter/cli/printer/config_spec.rb +0 -17
  286. data/spec/unit/mutant/reporter/cli/printer/env_progress_spec.rb +0 -85
  287. data/spec/unit/mutant/reporter/cli/printer/env_result_spec.rb +0 -45
  288. data/spec/unit/mutant/reporter/cli/printer/isolation_result_spec.rb +0 -132
  289. data/spec/unit/mutant/reporter/cli/printer/mutation_progress_result_spec.rb +0 -25
  290. data/spec/unit/mutant/reporter/cli/printer/mutation_result_spec.rb +0 -153
  291. data/spec/unit/mutant/reporter/cli/printer/status_progressive_spec.rb +0 -45
  292. data/spec/unit/mutant/reporter/cli/printer/subject_progress_spec.rb +0 -36
  293. data/spec/unit/mutant/reporter/cli/printer/subject_result_spec.rb +0 -44
  294. data/spec/unit/mutant/reporter/cli/printer/test_result_spec.rb +0 -16
  295. data/spec/unit/mutant/reporter/cli/printer_spec.rb +0 -163
  296. data/spec/unit/mutant/reporter/cli_spec.rb +0 -137
  297. data/spec/unit/mutant/reporter/null_spec.rb +0 -14
  298. data/spec/unit/mutant/reporter/sequence_spec.rb +0 -31
  299. data/spec/unit/mutant/repository/diff/ranges_spec.rb +0 -180
  300. data/spec/unit/mutant/repository/diff_spec.rb +0 -122
  301. data/spec/unit/mutant/repository/subject_filter_spec.rb +0 -30
  302. data/spec/unit/mutant/require_highjack_spec.rb +0 -73
  303. data/spec/unit/mutant/result/class_methods_spec.rb +0 -51
  304. data/spec/unit/mutant/result/env_spec.rb +0 -161
  305. data/spec/unit/mutant/result/mutation_spec.rb +0 -70
  306. data/spec/unit/mutant/result/subject_spec.rb +0 -111
  307. data/spec/unit/mutant/result/test_spec.rb +0 -14
  308. data/spec/unit/mutant/result_spec.rb +0 -33
  309. data/spec/unit/mutant/runner/sink_spec.rb +0 -174
  310. data/spec/unit/mutant/runner_spec.rb +0 -121
  311. data/spec/unit/mutant/selector/expression_spec.rb +0 -62
  312. data/spec/unit/mutant/selector/null_spec.rb +0 -17
  313. data/spec/unit/mutant/subject/method/instance_spec.rb +0 -181
  314. data/spec/unit/mutant/subject/method/singleton_spec.rb +0 -61
  315. data/spec/unit/mutant/subject_spec.rb +0 -93
  316. data/spec/unit/mutant/transform/array_spec.rb +0 -92
  317. data/spec/unit/mutant/transform/bool_spec.rb +0 -63
  318. data/spec/unit/mutant/transform/error_spec.rb +0 -132
  319. data/spec/unit/mutant/transform/exception_spec.rb +0 -44
  320. data/spec/unit/mutant/transform/hash_spec.rb +0 -236
  321. data/spec/unit/mutant/transform/index_spec.rb +0 -92
  322. data/spec/unit/mutant/transform/named_spec.rb +0 -49
  323. data/spec/unit/mutant/transform/primitive_spec.rb +0 -56
  324. data/spec/unit/mutant/transform/sequence_spec.rb +0 -98
  325. data/spec/unit/mutant/util/one_spec.rb +0 -22
  326. data/spec/unit/mutant/warnings_spec.rb +0 -89
  327. data/spec/unit/mutant/world_spec.rb +0 -63
  328. data/spec/unit/mutant/zombifier_spec.rb +0 -122
  329. data/test_app/.rspec +0 -1
  330. data/test_app/Gemfile.minitest +0 -4
  331. data/test_app/Gemfile.rspec3.8 +0 -7
  332. data/test_app/lib/test_app.rb +0 -109
  333. data/test_app/lib/test_app/literal.rb +0 -35
  334. data/test_app/spec/spec_helper.rb +0 -9
  335. data/test_app/spec/unit/test_app/literal_spec.rb +0 -20
  336. 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,10 +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 nil'
9
- mutation 'break'
10
- end
@@ -1,223 +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
- mutation <<-RUBY
27
- case
28
- when nil
29
- else
30
- end
31
- RUBY
32
- end
33
-
34
- # rubocop:disable Metrics/BlockLength
35
- Mutant::Meta::Example.add :case do
36
- source <<-RUBY
37
- case condition
38
- when A
39
- when B, C
40
- C
41
- else
42
- D
43
- end
44
- RUBY
45
-
46
- singleton_mutations
47
-
48
- mutation <<-RUBY
49
- case nil
50
- when A
51
- when B, C
52
- C
53
- else
54
- D
55
- end
56
- RUBY
57
-
58
- mutation <<-RUBY
59
- case self
60
- when A
61
- when B, C
62
- C
63
- else
64
- D
65
- end
66
- RUBY
67
-
68
- mutation <<-RUBY
69
- case condition
70
- when A
71
- raise
72
- when B, C
73
- C
74
- else
75
- D
76
- end
77
- RUBY
78
-
79
- mutation <<-RUBY
80
- case condition
81
- when nil
82
- when B, C
83
- C
84
- else
85
- D
86
- end
87
- RUBY
88
-
89
- mutation <<-RUBY
90
- case condition
91
- when self
92
- when B, C
93
- C
94
- else
95
- D
96
- end
97
- RUBY
98
-
99
- mutation <<-RUBY
100
- case condition
101
- when B, C
102
- C
103
- else
104
- D
105
- end
106
- RUBY
107
-
108
- mutation <<-RUBY
109
- case condition
110
- when A
111
- when B, C
112
- nil
113
- else
114
- D
115
- end
116
- RUBY
117
-
118
- mutation <<-RUBY
119
- case condition
120
- when A
121
- when B, C
122
- self
123
- else
124
- D
125
- end
126
- RUBY
127
-
128
- mutation <<-RUBY
129
- case condition
130
- when A
131
- when C
132
- C
133
- else
134
- D
135
- end
136
- RUBY
137
-
138
- mutation <<-RUBY
139
- case condition
140
- when A
141
- when nil, C
142
- C
143
- else
144
- D
145
- end
146
- RUBY
147
-
148
- mutation <<-RUBY
149
- case condition
150
- when A
151
- when self, C
152
- C
153
- else
154
- D
155
- end
156
- RUBY
157
-
158
- mutation <<-RUBY
159
- case condition
160
- when A
161
- when B
162
- C
163
- else
164
- D
165
- end
166
- RUBY
167
-
168
- mutation <<-RUBY
169
- case condition
170
- when A
171
- when B, nil
172
- C
173
- else
174
- D
175
- end
176
- RUBY
177
-
178
- mutation <<-RUBY
179
- case condition
180
- when A
181
- when B, self
182
- C
183
- else
184
- D
185
- end
186
- RUBY
187
-
188
- mutation <<-RUBY
189
- case condition
190
- when A
191
- else
192
- D
193
- end
194
- RUBY
195
-
196
- mutation <<-RUBY
197
- case condition
198
- when A
199
- when B, C
200
- C
201
- else
202
- nil
203
- end
204
- RUBY
205
-
206
- mutation <<-RUBY
207
- case condition
208
- when A
209
- when B, C
210
- C
211
- else
212
- self
213
- end
214
- RUBY
215
-
216
- mutation <<-RUBY
217
- case condition
218
- when A
219
- when B, C
220
- C
221
- end
222
- RUBY
223
- end
@@ -1,28 +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 'A = nil'
9
- mutation 'remove_const :A'
10
- end
11
-
12
- Mutant::Meta::Example.add :casgn do
13
- source 'self::A = true'
14
-
15
- mutation 'self::A__MUTANT__ = true'
16
- mutation 'self::A = false'
17
- mutation 'self::A = nil'
18
- mutation 'self.remove_const :A'
19
- end
20
-
21
- Mutant::Meta::Example.add :casgn do
22
- source 'A &&= true'
23
-
24
- singleton_mutations
25
- mutation 'A__MUTANT__ &&= true'
26
- mutation 'A &&= false'
27
- mutation 'A &&= nil'
28
- 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,10 +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
- mutation '@@a = nil'
10
- 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,203 +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
- mutation 'def foo; true; nil; end'
60
- mutation 'def foo; nil; false; end'
61
-
62
- # Remove statement in block
63
- mutation 'def foo; true; end'
64
- mutation 'def foo; false; end'
65
-
66
- # Remove all statements
67
- mutation 'def foo; end'
68
-
69
- mutation 'def foo; raise; end'
70
-
71
- mutation 'def foo; super; end'
72
- end
73
-
74
- Mutant::Meta::Example.add :def do
75
- source 'def foo(a, b); end'
76
-
77
- # Deletion of each argument
78
- mutation 'def foo(a); end'
79
- mutation 'def foo(b); end'
80
-
81
- # Deletion of all arguments
82
- mutation 'def foo; end'
83
-
84
- # Rename each argument
85
- mutation 'def foo(_a, b); end'
86
- mutation 'def foo(a, _b); end'
87
-
88
- # Mutation of body
89
- mutation 'def foo(a, b); raise; end'
90
- mutation 'def foo(a, b); super; end'
91
- end
92
-
93
- Mutant::Meta::Example.add :def do
94
- source 'def foo(a, b = nil); true; end'
95
-
96
- mutation 'def foo(_a, b = nil); true; end'
97
- mutation 'def foo(a, b = nil); end'
98
- mutation 'def foo; true; end'
99
- mutation 'def foo(a, b = nil); raise; end'
100
- mutation 'def foo(a, b = nil); nil; end'
101
- mutation 'def foo(a, b = nil); false; end'
102
- mutation 'def foo(a); true; end'
103
- mutation 'def foo(a, b = nil); b = nil; true; end'
104
- mutation 'def foo(b = nil); true; end'
105
- mutation 'def foo(a, _b = nil); true; end'
106
- mutation 'def foo(a, b); true; end'
107
- mutation 'def foo(a, b = nil); super; end'
108
- end
109
-
110
- Mutant::Meta::Example.add :def, :arg do
111
- source 'def foo(_unused); end'
112
-
113
- mutation 'def foo(_unused); raise; end'
114
- mutation 'def foo; end'
115
- mutation 'def foo(_unused); super; end'
116
- end
117
-
118
- Mutant::Meta::Example.add :def do
119
- source 'def foo(_unused = true); end'
120
-
121
- mutation 'def foo(_unused = nil); end'
122
- mutation 'def foo(_unused = false); end'
123
- mutation 'def foo(_unused = true); raise; end'
124
- mutation 'def foo(_unused); end'
125
- mutation 'def foo; end'
126
- mutation 'def foo(_unused = true); super; end'
127
- end
128
-
129
- Mutant::Meta::Example.add :def do
130
- source 'def foo(a = 0, b = 0); end'
131
- mutation 'def foo(a = 0, _b = 0); end'
132
- mutation 'def foo(_a = 0, b = 0); end'
133
- mutation 'def foo(a = 0, b = 1); end'
134
- mutation 'def foo(a = 0, b = -1); end'
135
- mutation 'def foo(a = 0, b = self); end'
136
- mutation 'def foo(a = 0, b = nil); end'
137
- mutation 'def foo(a = -1, b = 0); end'
138
- mutation 'def foo(a = self, b = 0); end'
139
- mutation 'def foo(a = nil, b = 0); end'
140
- mutation 'def foo(a = 1, b = 0); end'
141
- mutation 'def foo(a = 0); end'
142
- mutation 'def foo(b = 0); end'
143
- mutation 'def foo(a, b = 0); end'
144
- mutation 'def foo; end'
145
- mutation 'def foo(a = 0, b = 0); a = 0; end'
146
- mutation 'def foo(a = 0, b = 0); b = 0; end'
147
- mutation 'def foo(a = 0, b = 0); raise; end'
148
- mutation 'def foo(a = 0, b = 0); super; end'
149
- end
150
-
151
- Mutant::Meta::Example.add :def do
152
- source 'def foo(a = true); end'
153
-
154
- mutation 'def foo(a); end'
155
- mutation 'def foo(); end'
156
- mutation 'def foo(a = false); end'
157
- mutation 'def foo(a = nil); end'
158
- mutation 'def foo(_a = true); end'
159
- mutation 'def foo(a = true); raise; end'
160
- mutation 'def foo(a = true); a = true; end'
161
- mutation 'def foo(a = true); super; end'
162
- end
163
-
164
- Mutant::Meta::Example.add :def do
165
- source 'def self.foo; true; false; end'
166
-
167
- # Body presence mutation
168
- mutation 'def self.foo; false; false; end'
169
- mutation 'def self.foo; true; true; end'
170
- mutation 'def self.foo; true; nil; end'
171
- mutation 'def self.foo; nil; false; end'
172
-
173
- # Body presence mutation
174
- mutation 'def self.foo; true; end'
175
- mutation 'def self.foo; false; end'
176
-
177
- # Remove all statements
178
- mutation 'def self.foo; end'
179
-
180
- mutation 'def self.foo; raise; end'
181
-
182
- mutation 'def self.foo; super; end'
183
- end
184
-
185
- Mutant::Meta::Example.add :def do
186
-
187
- source 'def self.foo(a, b); end'
188
-
189
- # Deletion of each argument
190
- mutation 'def self.foo(a); end'
191
- mutation 'def self.foo(b); end'
192
-
193
- # Deletion of all arguments
194
- mutation 'def self.foo; end'
195
-
196
- # Rename each argument
197
- mutation 'def self.foo(_a, b); end'
198
- mutation 'def self.foo(a, _b); end'
199
-
200
- # Mutation of body
201
- mutation 'def self.foo(a, b); raise; end'
202
- mutation 'def self.foo(a, b); super; end'
203
- end