Commit graph

31 commits

Author SHA1 Message Date
Markus Schirp
a0216cb6fa Bump ruby requirement to 2.1
* Use %i style symbol literal arrays
* Fix style
* Whitelist some preferred style
2015-05-31 21:20:54 +00:00
Markus Schirp
c392cb5e4b Remove redundant encoding comment
* Mutant is ruby 2.0+ only where UTF-8 is default encoding
2015-04-27 21:07:30 +00:00
Markus Schirp
7f47ac425e Add emit of naked guard body
[fixes #280]
2014-12-21 20:48:41 +00:00
Markus Schirp
a1c6018f30 Add mutation from send to __send__
* `__send__` is the canonical form.
2014-11-27 22:01:53 +00:00
Markus Schirp
f54c7c42cf Add gt to gte and lt to lte mutations
* I believe these are also good mutations as lt vs lte and gt vs gte
  differencies always will be observable from good specs and the
  developer will always be very sure he uses the right one.
2014-11-25 20:44:07 +00:00
Markus Schirp
07c92401ff Fix emitters to recurse into left and right of binary statements 2014-11-11 19:08:12 +00:00
Markus Schirp
e983afe3dc Fix expected AST differencies from unparser changes 2014-11-09 19:31:28 +00:00
Markus Schirp
c7de9a24fb Prefer Object#is_a? over #kind_of? 2014-10-08 11:49:48 +00:00
Markus Schirp
1ae2c04193 Add concat-promotion of resbody nodes
Idea related to #245.
2014-08-16 21:14:22 +00:00
Markus Schirp
49517af01c Add rescue/else-body promotion/concatenation mutation
[fix #245]
2014-08-16 20:58:08 +00:00
Markus Schirp
d060f462f4 Merge pull request #242 from tjchambers/typos2
Fix documentation of parameters and correct method naming
2014-08-13 16:00:15 +00:00
Tim Chambers
6437254e28 2 more typos in comments corrected 2014-08-12 16:34:20 -07:00
Markus Schirp
cf1c9a2bed Add relational operator mutations
[fix #205]
2014-08-11 15:21:05 +00:00
Markus Schirp
8164de883e Add mutation from #reverse_merge to #merge
[fix #214]
2014-08-11 15:11:02 +00:00
Markus Schirp
99b19a1d92 Add mutation from {is_a,kind_of}? to instance_of? 2014-07-25 17:33:01 +00:00
Markus Schirp
b47717ec90 Add mutation from foo { bar } to bar 2014-07-24 19:10:06 +00:00
Markus Schirp
d056b591f3 Fix blind spots on send with block 2014-07-18 23:50:48 +00:00
Markus Schirp
18029b1756 Add mutations from to_{s,i,a} -> to_{str,int,ary}
[closes #217]
2014-07-10 19:42:37 +00:00
Markus Schirp
13cd04d9be Introduce AST::Meta to externalize semantic analysis
* Add Mutant::AST namespace to hold all AST related data / helpers.
* Mutant::AST will be externalized into an ast-meta gem that can be
  shared with unparser for deduplication.
* Over the time the mutators itself will not need to deal with semantic
  analysis of the AST anymore by themselves.
* Move AST analysis for send nodes to AST::Meta
* Fix #209
2014-06-29 21:26:58 +00:00
Markus Schirp
3d94003616 Fix invalid AST generation on operator method with self as receiver 2014-06-15 19:48:27 +00:00
Markus Schirp
e3d4f62f95 Fix index assignment mutations 2014-06-15 15:34:45 +00:00
Markus Schirp
ac179cd450 Remove useless mutations and fix index reference 2014-06-15 13:12:11 +00:00
Markus Schirp
c5f5d595ca Correctly avoid mutations that produce differend AST but same source
* Add detection for this case in Example::Verification
* Revert source location killing Normalization after parse.
* Closes #198
2014-06-09 14:56:15 +00:00
Markus Schirp
8d31d52a93 Sync devtools and fix rubocop warnings 2014-06-08 13:01:26 +00:00
Markus Schirp
d21f4ae5fb Do not mutate to invalid AST on reqarg promotion
Closes #153
2014-06-06 23:05:29 +00:00
Markus Schirp
1f38aeb042 Do not emit rescue matchers with higher selectabillity
Closes #183
2014-06-06 19:45:11 +00:00
Markus Schirp
bee44d7888 Avoid mutating break to next
Closes #201
2014-06-06 13:06:52 +00:00
Markus Schirp
017ccc1044 Add expression => self mutation
Also reorganizes parts of meta to align filenames to node name better.

Closes #191
2014-06-05 17:48:39 +00:00
Markus Schirp
cadd42908a Do not emit lhs mutations for ivars on or assign
* Closes #150
2014-06-04 16:09:27 +00:00
Markus Schirp
ef0f5c2d8c Arrange meta by node name 2014-06-02 14:22:57 +00:00
Markus Schirp
4a9ab9340e Define expected mutations with less redundancy
The mutation examples are now introspectable, this allows to render nice
index or performing better automated analysis against the corpus.
2014-06-02 14:05:11 +00:00