mutant 0.5.18 → 0.5.19
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.
- checksums.yaml +4 -4
 - data/Changelog.md +7 -0
 - data/README.md +2 -2
 - data/config/flay.yml +1 -1
 - data/lib/mutant.rb +4 -1
 - data/lib/mutant/meta/example/dsl.rb +11 -0
 - data/lib/mutant/mutator/node.rb +29 -5
 - data/lib/mutant/mutator/node/and_asgn.rb +34 -0
 - data/lib/mutant/mutator/node/binary.rb +1 -1
 - data/lib/mutant/mutator/node/block.rb +1 -1
 - data/lib/mutant/mutator/node/break.rb +29 -0
 - data/lib/mutant/mutator/node/case.rb +1 -1
 - data/lib/mutant/mutator/node/conditional_loop.rb +1 -1
 - data/lib/mutant/mutator/node/const.rb +1 -1
 - data/lib/mutant/mutator/node/defined.rb +30 -0
 - data/lib/mutant/mutator/node/dstr.rb +1 -1
 - data/lib/mutant/mutator/node/dsym.rb +1 -1
 - data/lib/mutant/mutator/node/generic.rb +1 -1
 - data/lib/mutant/mutator/node/if.rb +4 -2
 - data/lib/mutant/mutator/node/kwbegin.rb +1 -1
 - data/lib/mutant/mutator/node/literal/array.rb +1 -1
 - data/lib/mutant/mutator/node/literal/fixnum.rb +1 -1
 - data/lib/mutant/mutator/node/literal/float.rb +1 -1
 - data/lib/mutant/mutator/node/literal/hash.rb +1 -1
 - data/lib/mutant/mutator/node/literal/range.rb +1 -1
 - data/lib/mutant/mutator/node/literal/regex.rb +1 -1
 - data/lib/mutant/mutator/node/literal/string.rb +1 -1
 - data/lib/mutant/mutator/node/literal/symbol.rb +1 -1
 - data/lib/mutant/mutator/node/masgn.rb +1 -1
 - data/lib/mutant/mutator/node/match_current_line.rb +1 -1
 - data/lib/mutant/mutator/node/named_value/access.rb +1 -1
 - data/lib/mutant/mutator/node/named_value/variable_assignment.rb +1 -1
 - data/lib/mutant/mutator/node/{loop_control.rb → next.rb} +5 -9
 - data/lib/mutant/mutator/node/op_asgn.rb +9 -4
 - data/lib/mutant/mutator/node/or_asgn.rb +6 -2
 - data/lib/mutant/mutator/node/resbody.rb +2 -2
 - data/lib/mutant/mutator/node/return.rb +1 -1
 - data/lib/mutant/mutator/node/send.rb +1 -1
 - data/lib/mutant/mutator/node/splat.rb +1 -1
 - data/lib/mutant/mutator/node/super.rb +1 -1
 - data/lib/mutant/mutator/node/yield.rb +1 -1
 - data/lib/mutant/mutator/node/zsuper.rb +1 -1
 - data/lib/mutant/node_helpers.rb +6 -5
 - data/lib/mutant/version.rb +1 -1
 - data/meta/and.rb +1 -1
 - data/meta/and_asgn.rb +3 -1
 - data/meta/array.rb +2 -2
 - data/meta/block.rb +6 -4
 - data/meta/block_pass.rb +1 -1
 - data/meta/blockarg.rb +1 -1
 - data/meta/break.rb +1 -2
 - data/meta/case.rb +104 -183
 - data/meta/cbase.rb +1 -1
 - data/meta/const.rb +1 -1
 - data/meta/cvar.rb +1 -1
 - data/meta/cvasgn.rb +1 -1
 - data/meta/{define.rb → def.rb} +2 -1
 - data/meta/dstr.rb +4 -1
 - data/meta/dsym.rb +4 -2
 - data/meta/ensure.rb +1 -1
 - data/meta/false.rb +8 -0
 - data/meta/float.rb +3 -4
 - data/meta/gvar.rb +1 -1
 - data/meta/gvasgn.rb +1 -1
 - data/meta/hash.rb +1 -2
 - data/meta/if.rb +25 -27
 - data/meta/{fixnum.rb → int.rb} +1 -2
 - data/meta/ivasgn.rb +1 -1
 - data/meta/kwbegin.rb +1 -1
 - data/meta/lvar.rb +2 -0
 - data/meta/lvasgn.rb +1 -1
 - data/meta/masgn.rb +1 -1
 - data/meta/match_current_line.rb +1 -1
 - data/meta/next.rb +1 -1
 - data/meta/op_assgn.rb +3 -1
 - data/meta/{binary.rb → or.rb} +1 -1
 - data/meta/or_asgn.rb +4 -2
 - data/meta/range.rb +6 -2
 - data/meta/regex.rb +4 -2
 - data/meta/rescue.rb +7 -6
 - data/meta/restarg.rb +3 -1
 - data/meta/return.rb +3 -2
 - data/meta/send.rb +48 -51
 - data/meta/{string.rb → str.rb} +1 -1
 - data/meta/super.rb +6 -3
 - data/meta/symbol.rb +1 -1
 - data/meta/true.rb +8 -0
 - data/meta/until.rb +17 -0
 - data/meta/while.rb +4 -2
 - data/meta/yield.rb +1 -1
 - data/spec/spec_helper.rb +1 -1
 - metadata +13 -8
 - data/meta/unless.rb +0 -15
 
    
        data/meta/rescue.rb
    CHANGED
    
    | 
         @@ -3,27 +3,28 @@ 
     | 
|
| 
       3 
3 
     | 
    
         
             
            Mutant::Meta::Example.add do
         
     | 
| 
       4 
4 
     | 
    
         
             
              source 'begin; rescue ExceptionA, ExceptionB => error; true; end'
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
     | 
    
         
            -
               
     | 
| 
      
 6 
     | 
    
         
            +
              singleton_mutations
         
     | 
| 
       7 
7 
     | 
    
         
             
              mutation 'begin; rescue ExceptionA, ExceptionB; true; end'
         
     | 
| 
      
 8 
     | 
    
         
            +
              mutation 'begin; rescue self, ExceptionB => error; true; end'
         
     | 
| 
      
 9 
     | 
    
         
            +
              mutation 'begin; rescue ExceptionA, self => error; true; end'
         
     | 
| 
       8 
10 
     | 
    
         
             
              mutation 'begin; rescue ExceptionA, ExceptionB => error; false; end'
         
     | 
| 
       9 
11 
     | 
    
         
             
              mutation 'begin; rescue ExceptionA, ExceptionB => error; nil; end'
         
     | 
| 
       10 
     | 
    
         
            -
              mutation 'begin; rescue ExceptionA => error; true; end'
         
     | 
| 
       11 
     | 
    
         
            -
              mutation 'begin; rescue ExceptionB => error; true; end'
         
     | 
| 
       12 
12 
     | 
    
         
             
            end
         
     | 
| 
       13 
13 
     | 
    
         | 
| 
       14 
14 
     | 
    
         
             
            Mutant::Meta::Example.add do
         
     | 
| 
       15 
15 
     | 
    
         
             
              source 'begin; rescue SomeException => error; true; end'
         
     | 
| 
       16 
16 
     | 
    
         | 
| 
       17 
     | 
    
         
            -
               
     | 
| 
      
 17 
     | 
    
         
            +
              singleton_mutations
         
     | 
| 
       18 
18 
     | 
    
         
             
              mutation 'begin; rescue SomeException; true; end'
         
     | 
| 
       19 
19 
     | 
    
         
             
              mutation 'begin; rescue SomeException => error; false; end'
         
     | 
| 
       20 
20 
     | 
    
         
             
              mutation 'begin; rescue SomeException => error; nil; end'
         
     | 
| 
      
 21 
     | 
    
         
            +
              mutation 'begin; rescue self => error; true; end'
         
     | 
| 
       21 
22 
     | 
    
         
             
            end
         
     | 
| 
       22 
23 
     | 
    
         | 
| 
       23 
24 
     | 
    
         
             
            Mutant::Meta::Example.add do
         
     | 
| 
       24 
25 
     | 
    
         
             
              source 'begin; rescue => error; true end'
         
     | 
| 
       25 
26 
     | 
    
         | 
| 
       26 
     | 
    
         
            -
               
     | 
| 
      
 27 
     | 
    
         
            +
              singleton_mutations
         
     | 
| 
       27 
28 
     | 
    
         
             
              mutation 'begin; rescue => error; false; end'
         
     | 
| 
       28 
29 
     | 
    
         
             
              mutation 'begin; rescue => error; nil; end'
         
     | 
| 
       29 
30 
     | 
    
         
             
              mutation 'begin; rescue; true; end'
         
     | 
| 
         @@ -32,7 +33,7 @@ end 
     | 
|
| 
       32 
33 
     | 
    
         
             
            Mutant::Meta::Example.add do
         
     | 
| 
       33 
34 
     | 
    
         
             
              source 'begin; rescue; true end'
         
     | 
| 
       34 
35 
     | 
    
         | 
| 
       35 
     | 
    
         
            -
               
     | 
| 
      
 36 
     | 
    
         
            +
              singleton_mutations
         
     | 
| 
       36 
37 
     | 
    
         
             
              mutation 'begin; rescue; false; end'
         
     | 
| 
       37 
38 
     | 
    
         
             
              mutation 'begin; rescue; nil; end'
         
     | 
| 
       38 
39 
     | 
    
         
             
            end
         
     | 
    
        data/meta/restarg.rb
    CHANGED
    
    
    
        data/meta/return.rb
    CHANGED
    
    | 
         @@ -3,13 +3,14 @@ 
     | 
|
| 
       3 
3 
     | 
    
         
             
            Mutant::Meta::Example.add do
         
     | 
| 
       4 
4 
     | 
    
         
             
              source 'return'
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
     | 
    
         
            -
               
     | 
| 
      
 6 
     | 
    
         
            +
              singleton_mutations
         
     | 
| 
       7 
7 
     | 
    
         
             
            end
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
       9 
9 
     | 
    
         
             
            Mutant::Meta::Example.add do
         
     | 
| 
       10 
10 
     | 
    
         
             
              source 'return foo'
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
      
 12 
     | 
    
         
            +
              singleton_mutations
         
     | 
| 
       12 
13 
     | 
    
         
             
              mutation 'foo'
         
     | 
| 
       13 
14 
     | 
    
         
             
              mutation 'return nil'
         
     | 
| 
       14 
     | 
    
         
            -
              mutation ' 
     | 
| 
      
 15 
     | 
    
         
            +
              mutation 'return self'
         
     | 
| 
       15 
16 
     | 
    
         
             
            end
         
     | 
    
        data/meta/send.rb
    CHANGED
    
    | 
         @@ -3,14 +3,14 @@ 
     | 
|
| 
       3 
3 
     | 
    
         
             
            Mutant::Meta::Example.add do
         
     | 
| 
       4 
4 
     | 
    
         
             
              source 'reverse_each'
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
     | 
    
         
            -
               
     | 
| 
      
 6 
     | 
    
         
            +
              singleton_mutations
         
     | 
| 
       7 
7 
     | 
    
         
             
              mutation 'each'
         
     | 
| 
       8 
8 
     | 
    
         
             
            end
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
10 
     | 
    
         
             
            Mutant::Meta::Example.add do
         
     | 
| 
       11 
11 
     | 
    
         
             
              source 'reverse_map'
         
     | 
| 
       12 
12 
     | 
    
         | 
| 
       13 
     | 
    
         
            -
               
     | 
| 
      
 13 
     | 
    
         
            +
              singleton_mutations
         
     | 
| 
       14 
14 
     | 
    
         
             
              mutation 'map'
         
     | 
| 
       15 
15 
     | 
    
         
             
              mutation 'each'
         
     | 
| 
       16 
16 
     | 
    
         
             
            end
         
     | 
| 
         @@ -18,18 +18,20 @@ end 
     | 
|
| 
       18 
18 
     | 
    
         
             
            Mutant::Meta::Example.add do
         
     | 
| 
       19 
19 
     | 
    
         
             
              source 'map'
         
     | 
| 
       20 
20 
     | 
    
         | 
| 
       21 
     | 
    
         
            -
               
     | 
| 
      
 21 
     | 
    
         
            +
              singleton_mutations
         
     | 
| 
       22 
22 
     | 
    
         
             
              mutation 'each'
         
     | 
| 
       23 
23 
     | 
    
         
             
            end
         
     | 
| 
       24 
24 
     | 
    
         | 
| 
       25 
25 
     | 
    
         
             
            Mutant::Meta::Example.add do
         
     | 
| 
       26 
26 
     | 
    
         
             
              source 'foo == bar'
         
     | 
| 
       27 
27 
     | 
    
         | 
| 
      
 28 
     | 
    
         
            +
              singleton_mutations
         
     | 
| 
       28 
29 
     | 
    
         
             
              mutation 'foo'
         
     | 
| 
       29 
30 
     | 
    
         
             
              mutation 'bar'
         
     | 
| 
       30 
31 
     | 
    
         
             
              mutation 'nil == bar'
         
     | 
| 
      
 32 
     | 
    
         
            +
              mutation 'self == bar'
         
     | 
| 
       31 
33 
     | 
    
         
             
              mutation 'foo == nil'
         
     | 
| 
       32 
     | 
    
         
            -
              mutation ' 
     | 
| 
      
 34 
     | 
    
         
            +
              mutation 'foo == self'
         
     | 
| 
       33 
35 
     | 
    
         
             
              mutation 'foo.eql?(bar)'
         
     | 
| 
       34 
36 
     | 
    
         
             
              mutation 'foo.equal?(bar)'
         
     | 
| 
       35 
37 
     | 
    
         
             
            end
         
     | 
| 
         @@ -37,43 +39,40 @@ end 
     | 
|
| 
       37 
39 
     | 
    
         
             
            Mutant::Meta::Example.add do
         
     | 
| 
       38 
40 
     | 
    
         
             
              source 'foo.gsub(a, b)'
         
     | 
| 
       39 
41 
     | 
    
         | 
| 
      
 42 
     | 
    
         
            +
              singleton_mutations
         
     | 
| 
       40 
43 
     | 
    
         
             
              mutation 'foo'
         
     | 
| 
       41 
44 
     | 
    
         
             
              mutation 'foo.gsub(a)'
         
     | 
| 
       42 
45 
     | 
    
         
             
              mutation 'foo.gsub(b)'
         
     | 
| 
       43 
46 
     | 
    
         
             
              mutation 'foo.gsub'
         
     | 
| 
       44 
47 
     | 
    
         
             
              mutation 'foo.sub(a, b)'
         
     | 
| 
       45 
48 
     | 
    
         
             
              mutation 'foo.gsub(a, nil)'
         
     | 
| 
      
 49 
     | 
    
         
            +
              mutation 'foo.gsub(a, self)'
         
     | 
| 
       46 
50 
     | 
    
         
             
              mutation 'foo.gsub(nil, b)'
         
     | 
| 
      
 51 
     | 
    
         
            +
              mutation 'foo.gsub(self, b)'
         
     | 
| 
       47 
52 
     | 
    
         
             
              mutation 'nil.gsub(a, b)'
         
     | 
| 
       48 
     | 
    
         
            -
              mutation ' 
     | 
| 
      
 53 
     | 
    
         
            +
              mutation 'self.gsub(a, b)'
         
     | 
| 
       49 
54 
     | 
    
         
             
            end
         
     | 
| 
       50 
55 
     | 
    
         | 
| 
       51 
56 
     | 
    
         
             
            Mutant::Meta::Example.add do
         
     | 
| 
       52 
57 
     | 
    
         
             
              source 'foo.send(bar)'
         
     | 
| 
       53 
58 
     | 
    
         | 
| 
      
 59 
     | 
    
         
            +
              singleton_mutations
         
     | 
| 
       54 
60 
     | 
    
         
             
              mutation 'foo.send'
         
     | 
| 
       55 
61 
     | 
    
         
             
              mutation 'foo.public_send(bar)'
         
     | 
| 
       56 
62 
     | 
    
         
             
              mutation 'bar'
         
     | 
| 
       57 
63 
     | 
    
         
             
              mutation 'foo'
         
     | 
| 
      
 64 
     | 
    
         
            +
              mutation 'self.send(bar)'
         
     | 
| 
       58 
65 
     | 
    
         
             
              mutation 'foo.send(nil)'
         
     | 
| 
      
 66 
     | 
    
         
            +
              mutation 'foo.send(self)'
         
     | 
| 
       59 
67 
     | 
    
         
             
              mutation 'nil.send(bar)'
         
     | 
| 
       60 
     | 
    
         
            -
              mutation 'nil'
         
     | 
| 
       61 
68 
     | 
    
         
             
            end
         
     | 
| 
       62 
69 
     | 
    
         | 
| 
       63 
70 
     | 
    
         
             
            Mutant::Meta::Example.add do
         
     | 
| 
       64 
     | 
    
         
            -
              source 'self. 
     | 
| 
      
 71 
     | 
    
         
            +
              source 'self.bar = baz'
         
     | 
| 
       65 
72 
     | 
    
         | 
| 
       66 
     | 
    
         
            -
               
     | 
| 
       67 
     | 
    
         
            -
              mutation ' 
     | 
| 
       68 
     | 
    
         
            -
              mutation ' 
     | 
| 
       69 
     | 
    
         
            -
            end
         
     | 
| 
       70 
     | 
    
         
            -
             
     | 
| 
       71 
     | 
    
         
            -
            Mutant::Meta::Example.add do
         
     | 
| 
       72 
     | 
    
         
            -
              source 'self.bar=baz'
         
     | 
| 
       73 
     | 
    
         
            -
             
     | 
| 
       74 
     | 
    
         
            -
              mutation 'nil'
         
     | 
| 
       75 
     | 
    
         
            -
              mutation 'self.bar=nil'
         
     | 
| 
       76 
     | 
    
         
            -
              mutation 'self'
         
     | 
| 
      
 73 
     | 
    
         
            +
              singleton_mutations
         
     | 
| 
      
 74 
     | 
    
         
            +
              mutation 'self.bar = nil'
         
     | 
| 
      
 75 
     | 
    
         
            +
              mutation 'self.bar = self'
         
     | 
| 
       77 
76 
     | 
    
         
             
              mutation 'self.bar'
         
     | 
| 
       78 
77 
     | 
    
         
             
              mutation 'baz'
         
     | 
| 
       79 
78 
     | 
    
         
             
              # This one could probably be removed
         
     | 
| 
         @@ -81,105 +80,107 @@ Mutant::Meta::Example.add do 
     | 
|
| 
       81 
80 
     | 
    
         
             
            end
         
     | 
| 
       82 
81 
     | 
    
         | 
| 
       83 
82 
     | 
    
         
             
            Mutant::Meta::Example.add do
         
     | 
| 
       84 
     | 
    
         
            -
              source 'foo.bar=baz'
         
     | 
| 
      
 83 
     | 
    
         
            +
              source 'foo.bar = baz'
         
     | 
| 
       85 
84 
     | 
    
         | 
| 
      
 85 
     | 
    
         
            +
              singleton_mutations
         
     | 
| 
       86 
86 
     | 
    
         
             
              mutation 'foo'
         
     | 
| 
       87 
     | 
    
         
            -
              mutation 'nil'
         
     | 
| 
       88 
     | 
    
         
            -
              mutation 'foo.bar= 
     | 
| 
      
 87 
     | 
    
         
            +
              mutation 'foo.bar = nil'
         
     | 
| 
      
 88 
     | 
    
         
            +
              mutation 'foo.bar = self'
         
     | 
| 
      
 89 
     | 
    
         
            +
              mutation 'self.bar = baz'
         
     | 
| 
       89 
90 
     | 
    
         
             
              mutation 'foo.bar'
         
     | 
| 
       90 
91 
     | 
    
         
             
              mutation 'baz'
         
     | 
| 
       91 
92 
     | 
    
         
             
              # This one could probably be removed
         
     | 
| 
       92 
     | 
    
         
            -
              mutation 'nil.bar=baz'
         
     | 
| 
      
 93 
     | 
    
         
            +
              mutation 'nil.bar = baz'
         
     | 
| 
       93 
94 
     | 
    
         
             
            end
         
     | 
| 
       94 
95 
     | 
    
         | 
| 
       95 
96 
     | 
    
         
             
            Mutant::Meta::Example.add do
         
     | 
| 
       96 
97 
     | 
    
         
             
              source 'foo[bar]=baz'
         
     | 
| 
       97 
98 
     | 
    
         | 
| 
      
 99 
     | 
    
         
            +
              singleton_mutations
         
     | 
| 
       98 
100 
     | 
    
         
             
              mutation 'foo'
         
     | 
| 
       99 
     | 
    
         
            -
              mutation 'nil'
         
     | 
| 
       100 
101 
     | 
    
         
             
            end
         
     | 
| 
       101 
102 
     | 
    
         | 
| 
       102 
103 
     | 
    
         
             
            Mutant::Meta::Example.add do
         
     | 
| 
       103 
104 
     | 
    
         
             
              source 'foo(*bar)'
         
     | 
| 
       104 
105 
     | 
    
         | 
| 
      
 106 
     | 
    
         
            +
              singleton_mutations
         
     | 
| 
       105 
107 
     | 
    
         
             
              mutation 'foo'
         
     | 
| 
       106 
108 
     | 
    
         
             
              mutation 'foo(nil)'
         
     | 
| 
       107 
109 
     | 
    
         
             
              mutation 'foo(bar)'
         
     | 
| 
      
 110 
     | 
    
         
            +
              mutation 'foo(self)'
         
     | 
| 
       108 
111 
     | 
    
         
             
              mutation 'foo(*nil)'
         
     | 
| 
       109 
     | 
    
         
            -
              mutation ' 
     | 
| 
      
 112 
     | 
    
         
            +
              mutation 'foo(*self)'
         
     | 
| 
       110 
113 
     | 
    
         
             
            end
         
     | 
| 
       111 
114 
     | 
    
         | 
| 
       112 
115 
     | 
    
         
             
            Mutant::Meta::Example.add do
         
     | 
| 
       113 
116 
     | 
    
         
             
              source 'foo(&bar)'
         
     | 
| 
       114 
117 
     | 
    
         | 
| 
      
 118 
     | 
    
         
            +
              singleton_mutations
         
     | 
| 
       115 
119 
     | 
    
         
             
              mutation 'foo'
         
     | 
| 
       116 
     | 
    
         
            -
              mutation 'nil'
         
     | 
| 
       117 
120 
     | 
    
         
             
            end
         
     | 
| 
       118 
121 
     | 
    
         | 
| 
       119 
122 
     | 
    
         
             
            Mutant::Meta::Example.add do
         
     | 
| 
       120 
123 
     | 
    
         
             
              source 'foo[*bar]'
         
     | 
| 
       121 
124 
     | 
    
         | 
| 
      
 125 
     | 
    
         
            +
              singleton_mutations
         
     | 
| 
       122 
126 
     | 
    
         
             
              mutation 'foo'
         
     | 
| 
       123 
     | 
    
         
            -
              mutation 'nil'
         
     | 
| 
       124 
127 
     | 
    
         
             
            end
         
     | 
| 
       125 
128 
     | 
    
         | 
| 
       126 
129 
     | 
    
         
             
            Mutant::Meta::Example.add do
         
     | 
| 
       127 
130 
     | 
    
         
             
              source 'foo'
         
     | 
| 
       128 
131 
     | 
    
         | 
| 
       129 
     | 
    
         
            -
               
     | 
| 
      
 132 
     | 
    
         
            +
              singleton_mutations
         
     | 
| 
       130 
133 
     | 
    
         
             
            end
         
     | 
| 
       131 
134 
     | 
    
         | 
| 
       132 
135 
     | 
    
         
             
            Mutant::Meta::Example.add do
         
     | 
| 
       133 
136 
     | 
    
         
             
              source 'self.foo'
         
     | 
| 
       134 
137 
     | 
    
         | 
| 
      
 138 
     | 
    
         
            +
              singleton_mutations
         
     | 
| 
       135 
139 
     | 
    
         
             
              mutation 'foo'
         
     | 
| 
       136 
     | 
    
         
            -
              mutation 'self'
         
     | 
| 
       137 
140 
     | 
    
         
             
              mutation 'nil.foo'
         
     | 
| 
       138 
     | 
    
         
            -
              mutation 'nil'
         
     | 
| 
       139 
141 
     | 
    
         
             
            end
         
     | 
| 
       140 
142 
     | 
    
         | 
| 
       141 
143 
     | 
    
         
             
            Unparser::Constants::KEYWORDS.each do |keyword|
         
     | 
| 
       142 
144 
     | 
    
         
             
              Mutant::Meta::Example.add do
         
     | 
| 
       143 
145 
     | 
    
         
             
                source "self.#{keyword}"
         
     | 
| 
       144 
146 
     | 
    
         | 
| 
      
 147 
     | 
    
         
            +
                singleton_mutations
         
     | 
| 
       145 
148 
     | 
    
         
             
                mutation "nil.#{keyword}"
         
     | 
| 
       146 
     | 
    
         
            -
                mutation 'nil'
         
     | 
| 
       147 
     | 
    
         
            -
                mutation 'self'
         
     | 
| 
       148 
149 
     | 
    
         
             
              end
         
     | 
| 
       149 
150 
     | 
    
         
             
            end
         
     | 
| 
       150 
151 
     | 
    
         | 
| 
       151 
152 
     | 
    
         
             
            Mutant::Meta::Example.add do
         
     | 
| 
       152 
153 
     | 
    
         
             
              source 'foo.bar'
         
     | 
| 
       153 
154 
     | 
    
         | 
| 
      
 155 
     | 
    
         
            +
              singleton_mutations
         
     | 
| 
       154 
156 
     | 
    
         
             
              mutation 'foo'
         
     | 
| 
       155 
157 
     | 
    
         
             
              mutation 'nil.bar'
         
     | 
| 
       156 
     | 
    
         
            -
              mutation ' 
     | 
| 
      
 158 
     | 
    
         
            +
              mutation 'self.bar'
         
     | 
| 
       157 
159 
     | 
    
         
             
            end
         
     | 
| 
       158 
160 
     | 
    
         | 
| 
       159 
161 
     | 
    
         
             
            Mutant::Meta::Example.add do
         
     | 
| 
       160 
162 
     | 
    
         
             
              source 'self.class.foo'
         
     | 
| 
       161 
163 
     | 
    
         | 
| 
      
 164 
     | 
    
         
            +
              singleton_mutations
         
     | 
| 
       162 
165 
     | 
    
         
             
              mutation 'self.class'
         
     | 
| 
       163 
166 
     | 
    
         
             
              mutation 'self.foo'
         
     | 
| 
       164 
167 
     | 
    
         
             
              mutation 'nil.class.foo'
         
     | 
| 
       165 
168 
     | 
    
         
             
              mutation 'nil.foo'
         
     | 
| 
       166 
     | 
    
         
            -
              mutation 'nil'
         
     | 
| 
       167 
169 
     | 
    
         
             
            end
         
     | 
| 
       168 
170 
     | 
    
         | 
| 
       169 
171 
     | 
    
         
             
            Mutant::Meta::Example.add do
         
     | 
| 
       170 
172 
     | 
    
         
             
              source 'foo(nil)'
         
     | 
| 
       171 
173 
     | 
    
         | 
| 
      
 174 
     | 
    
         
            +
              singleton_mutations
         
     | 
| 
       172 
175 
     | 
    
         
             
              mutation 'foo'
         
     | 
| 
       173 
     | 
    
         
            -
              mutation 'nil'
         
     | 
| 
       174 
176 
     | 
    
         
             
            end
         
     | 
| 
       175 
177 
     | 
    
         | 
| 
       176 
178 
     | 
    
         
             
            Mutant::Meta::Example.add do
         
     | 
| 
       177 
179 
     | 
    
         
             
              source 'self.foo(nil)'
         
     | 
| 
       178 
180 
     | 
    
         | 
| 
       179 
     | 
    
         
            -
               
     | 
| 
      
 181 
     | 
    
         
            +
              singleton_mutations
         
     | 
| 
       180 
182 
     | 
    
         
             
              mutation 'self.foo'
         
     | 
| 
       181 
183 
     | 
    
         
             
              mutation 'foo(nil)'
         
     | 
| 
       182 
     | 
    
         
            -
              mutation 'nil'
         
     | 
| 
       183 
184 
     | 
    
         
             
              mutation 'nil.foo(nil)'
         
     | 
| 
       184 
185 
     | 
    
         
             
            end
         
     | 
| 
       185 
186 
     | 
    
         | 
| 
         @@ -187,54 +188,50 @@ Unparser::Constants::KEYWORDS.each do |keyword| 
     | 
|
| 
       187 
188 
     | 
    
         
             
              Mutant::Meta::Example.add do
         
     | 
| 
       188 
189 
     | 
    
         
             
                source "foo.#{keyword}(nil)"
         
     | 
| 
       189 
190 
     | 
    
         | 
| 
      
 191 
     | 
    
         
            +
                singleton_mutations
         
     | 
| 
      
 192 
     | 
    
         
            +
                mutation "self.#{keyword}(nil)"
         
     | 
| 
       190 
193 
     | 
    
         
             
                mutation "foo.#{keyword}"
         
     | 
| 
       191 
194 
     | 
    
         
             
                mutation 'foo'
         
     | 
| 
       192 
195 
     | 
    
         
             
                mutation "nil.#{keyword}(nil)"
         
     | 
| 
       193 
     | 
    
         
            -
                mutation 'nil'
         
     | 
| 
       194 
196 
     | 
    
         
             
              end
         
     | 
| 
       195 
197 
     | 
    
         
             
            end
         
     | 
| 
       196 
198 
     | 
    
         | 
| 
       197 
199 
     | 
    
         
             
            Mutant::Meta::Example.add do
         
     | 
| 
       198 
200 
     | 
    
         
             
              source 'foo(nil, nil)'
         
     | 
| 
       199 
201 
     | 
    
         | 
| 
      
 202 
     | 
    
         
            +
              singleton_mutations
         
     | 
| 
       200 
203 
     | 
    
         
             
              mutation 'foo()'
         
     | 
| 
       201 
204 
     | 
    
         
             
              mutation 'foo(nil)'
         
     | 
| 
       202 
     | 
    
         
            -
              mutation 'nil'
         
     | 
| 
       203 
205 
     | 
    
         
             
            end
         
     | 
| 
       204 
206 
     | 
    
         | 
| 
       205 
207 
     | 
    
         
             
            Mutant::Meta::Example.add do
         
     | 
| 
       206 
208 
     | 
    
         
             
              source '(left - right) / foo'
         
     | 
| 
       207 
209 
     | 
    
         | 
| 
      
 210 
     | 
    
         
            +
              singleton_mutations
         
     | 
| 
       208 
211 
     | 
    
         
             
              mutation 'foo'
         
     | 
| 
       209 
212 
     | 
    
         
             
              mutation '(left - right)'
         
     | 
| 
       210 
213 
     | 
    
         
             
              mutation 'left / foo'
         
     | 
| 
       211 
214 
     | 
    
         
             
              mutation 'right / foo'
         
     | 
| 
       212 
215 
     | 
    
         
             
              mutation '(left - right) / nil'
         
     | 
| 
      
 216 
     | 
    
         
            +
              mutation '(left - right) / self'
         
     | 
| 
       213 
217 
     | 
    
         
             
              mutation '(left - nil) / foo'
         
     | 
| 
      
 218 
     | 
    
         
            +
              mutation '(left - self) / foo'
         
     | 
| 
       214 
219 
     | 
    
         
             
              mutation '(nil - right) / foo'
         
     | 
| 
      
 220 
     | 
    
         
            +
              mutation '(self - right) / foo'
         
     | 
| 
       215 
221 
     | 
    
         
             
              mutation 'nil / foo'
         
     | 
| 
       216 
     | 
    
         
            -
              mutation ' 
     | 
| 
      
 222 
     | 
    
         
            +
              mutation 'self / foo'
         
     | 
| 
       217 
223 
     | 
    
         
             
            end
         
     | 
| 
       218 
224 
     | 
    
         | 
| 
       219 
225 
     | 
    
         
             
            (Mutant::BINARY_METHOD_OPERATORS - [:==, :eql?]).each do |operator|
         
     | 
| 
       220 
226 
     | 
    
         
             
              Mutant::Meta::Example.add do
         
     | 
| 
       221 
227 
     | 
    
         
             
                source "true #{operator} false"
         
     | 
| 
       222 
228 
     | 
    
         | 
| 
      
 229 
     | 
    
         
            +
                singleton_mutations
         
     | 
| 
      
 230 
     | 
    
         
            +
                mutation 'true'
         
     | 
| 
      
 231 
     | 
    
         
            +
                mutation 'false'
         
     | 
| 
       223 
232 
     | 
    
         
             
                mutation "false #{operator} false"
         
     | 
| 
       224 
233 
     | 
    
         
             
                mutation "nil   #{operator} false"
         
     | 
| 
       225 
234 
     | 
    
         
             
                mutation "true  #{operator} true"
         
     | 
| 
       226 
235 
     | 
    
         
             
                mutation "true  #{operator} nil"
         
     | 
| 
       227 
     | 
    
         
            -
                mutation 'true'
         
     | 
| 
       228 
     | 
    
         
            -
                mutation 'false'
         
     | 
| 
       229 
     | 
    
         
            -
                mutation 'nil'
         
     | 
| 
       230 
     | 
    
         
            -
              end
         
     | 
| 
       231 
     | 
    
         
            -
             
     | 
| 
       232 
     | 
    
         
            -
              Mutant::Meta::Example.add do
         
     | 
| 
       233 
     | 
    
         
            -
                source "left #{operator} right"
         
     | 
| 
       234 
     | 
    
         
            -
                mutation 'left'
         
     | 
| 
       235 
     | 
    
         
            -
                mutation 'right'
         
     | 
| 
       236 
     | 
    
         
            -
                mutation "left #{operator} nil"
         
     | 
| 
       237 
     | 
    
         
            -
                mutation "nil #{operator} right"
         
     | 
| 
       238 
     | 
    
         
            -
                mutation 'nil'
         
     | 
| 
       239 
236 
     | 
    
         
             
              end
         
     | 
| 
       240 
237 
     | 
    
         
             
            end
         
     | 
    
        data/meta/{string.rb → str.rb}
    RENAMED
    
    
    
        data/meta/super.rb
    CHANGED
    
    | 
         @@ -3,24 +3,27 @@ 
     | 
|
| 
       3 
3 
     | 
    
         
             
            Mutant::Meta::Example.add do
         
     | 
| 
       4 
4 
     | 
    
         
             
              source 'super'
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
     | 
    
         
            -
               
     | 
| 
      
 6 
     | 
    
         
            +
              singleton_mutations
         
     | 
| 
       7 
7 
     | 
    
         
             
            end
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
       9 
9 
     | 
    
         
             
            Mutant::Meta::Example.add do
         
     | 
| 
       10 
10 
     | 
    
         
             
              source 'super()'
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
      
 12 
     | 
    
         
            +
              singleton_mutations
         
     | 
| 
      
 13 
     | 
    
         
            +
              # this is zsuper a totally differend node thant super()
         
     | 
| 
       12 
14 
     | 
    
         
             
              mutation 'super'
         
     | 
| 
       13 
     | 
    
         
            -
              mutation 'nil'
         
     | 
| 
       14 
15 
     | 
    
         
             
            end
         
     | 
| 
       15 
16 
     | 
    
         | 
| 
       16 
17 
     | 
    
         
             
            Mutant::Meta::Example.add do
         
     | 
| 
       17 
18 
     | 
    
         
             
              source 'super(foo, bar)'
         
     | 
| 
       18 
19 
     | 
    
         | 
| 
      
 20 
     | 
    
         
            +
              singleton_mutations
         
     | 
| 
       19 
21 
     | 
    
         
             
              mutation 'super'
         
     | 
| 
       20 
22 
     | 
    
         
             
              mutation 'super()'
         
     | 
| 
       21 
23 
     | 
    
         
             
              mutation 'super(foo)'
         
     | 
| 
       22 
24 
     | 
    
         
             
              mutation 'super(bar)'
         
     | 
| 
       23 
25 
     | 
    
         
             
              mutation 'super(foo, nil)'
         
     | 
| 
      
 26 
     | 
    
         
            +
              mutation 'super(foo, self)'
         
     | 
| 
       24 
27 
     | 
    
         
             
              mutation 'super(nil, bar)'
         
     | 
| 
       25 
     | 
    
         
            -
              mutation ' 
     | 
| 
      
 28 
     | 
    
         
            +
              mutation 'super(self, bar)'
         
     | 
| 
       26 
29 
     | 
    
         
             
            end
         
     | 
    
        data/meta/symbol.rb
    CHANGED
    
    
    
        data/meta/true.rb
    ADDED
    
    
    
        data/meta/until.rb
    ADDED
    
    | 
         @@ -0,0 +1,17 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # encoding: utf-8
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            Mutant::Meta::Example.add do
         
     | 
| 
      
 4 
     | 
    
         
            +
              source 'until true; foo; bar; end'
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
              singleton_mutations
         
     | 
| 
      
 7 
     | 
    
         
            +
              mutation 'until true; bar; end'
         
     | 
| 
      
 8 
     | 
    
         
            +
              mutation 'until true; foo; end'
         
     | 
| 
      
 9 
     | 
    
         
            +
              mutation 'until true; end'
         
     | 
| 
      
 10 
     | 
    
         
            +
              mutation 'until false; foo; bar; end'
         
     | 
| 
      
 11 
     | 
    
         
            +
              mutation 'until nil; foo; bar; end'
         
     | 
| 
      
 12 
     | 
    
         
            +
              mutation 'until true; foo; nil; end'
         
     | 
| 
      
 13 
     | 
    
         
            +
              mutation 'until true; foo; self; end'
         
     | 
| 
      
 14 
     | 
    
         
            +
              mutation 'until true; nil; bar; end'
         
     | 
| 
      
 15 
     | 
    
         
            +
              mutation 'until true; self; bar; end'
         
     | 
| 
      
 16 
     | 
    
         
            +
              mutation 'until true; raise; end'
         
     | 
| 
      
 17 
     | 
    
         
            +
            end
         
     | 
    
        data/meta/while.rb
    CHANGED
    
    | 
         @@ -3,6 +3,9 @@ 
     | 
|
| 
       3 
3 
     | 
    
         
             
            Mutant::Meta::Example.add do
         
     | 
| 
       4 
4 
     | 
    
         
             
              source 'while true; foo; bar; end'
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
      
 6 
     | 
    
         
            +
              singleton_mutations
         
     | 
| 
      
 7 
     | 
    
         
            +
              mutation 'while true; self; bar; end'
         
     | 
| 
      
 8 
     | 
    
         
            +
              mutation 'while true; foo; self; end'
         
     | 
| 
       6 
9 
     | 
    
         
             
              mutation 'while true; bar; end'
         
     | 
| 
       7 
10 
     | 
    
         
             
              mutation 'while true; foo; end'
         
     | 
| 
       8 
11 
     | 
    
         
             
              mutation 'while true; end'
         
     | 
| 
         @@ -11,14 +14,13 @@ Mutant::Meta::Example.add do 
     | 
|
| 
       11 
14 
     | 
    
         
             
              mutation 'while true;  foo; nil; end'
         
     | 
| 
       12 
15 
     | 
    
         
             
              mutation 'while true;  nil; bar; end'
         
     | 
| 
       13 
16 
     | 
    
         
             
              mutation 'while true;  raise; end'
         
     | 
| 
       14 
     | 
    
         
            -
              mutation 'nil'
         
     | 
| 
       15 
17 
     | 
    
         
             
            end
         
     | 
| 
       16 
18 
     | 
    
         | 
| 
       17 
19 
     | 
    
         
             
            Mutant::Meta::Example.add do
         
     | 
| 
       18 
20 
     | 
    
         
             
              source 'while true; end'
         
     | 
| 
       19 
21 
     | 
    
         | 
| 
      
 22 
     | 
    
         
            +
              singleton_mutations
         
     | 
| 
       20 
23 
     | 
    
         
             
              mutation 'while true; raise; end'
         
     | 
| 
       21 
24 
     | 
    
         
             
              mutation 'while false; end'
         
     | 
| 
       22 
25 
     | 
    
         
             
              mutation 'while nil; end'
         
     | 
| 
       23 
     | 
    
         
            -
              mutation 'nil'
         
     | 
| 
       24 
26 
     | 
    
         
             
            end
         
     |