File tree 2 files changed +44
-2
lines changed
2 files changed +44
-2
lines changed Original file line number Diff line number Diff line change @@ -30,7 +30,7 @@ specific:
30
30
```
31
31
send
32
32
{ selector = info
33
- , receiver = send{selector=logger}
33
+ receiver = send{selector=logger}
34
34
}
35
35
```
36
36
@@ -84,7 +84,7 @@ But could be made required via:
84
84
block
85
85
{ receiver = send
86
86
{ selector = log
87
- , receiver = send{selector=logger}
87
+ receiver = send{selector=logger}
88
88
}
89
89
}
90
90
```
Original file line number Diff line number Diff line change @@ -168,5 +168,47 @@ def apply
168
168
expect ( apply ) . to eql ( right ( expected_node ) )
169
169
end
170
170
end
171
+
172
+ context 'example from docs' do
173
+ let ( :string ) { <<~EOS }
174
+ block
175
+ { receiver = send
176
+ { selector = log
177
+ receiver = send{selector=logger}
178
+ }
179
+ }
180
+ EOS
181
+
182
+ let ( :expected_node ) do
183
+ Mutant ::AST ::Pattern ::Node . new (
184
+ type : :block ,
185
+ descendant : Mutant ::AST ::Pattern ::Node ::Descendant . new (
186
+ name : :receiver ,
187
+ pattern : Mutant ::AST ::Pattern ::Node . new (
188
+ type : :send ,
189
+ attribute : Mutant ::AST ::Pattern ::Node ::Attribute . new (
190
+ name : :selector ,
191
+ value : Mutant ::AST ::Pattern ::Node ::Attribute ::Value ::Single . new ( value : :log )
192
+ ) ,
193
+ descendant : Mutant ::AST ::Pattern ::Node ::Descendant . new (
194
+ name : :receiver ,
195
+ pattern : Mutant ::AST ::Pattern ::Node . new (
196
+ type : :send ,
197
+ attribute : Mutant ::AST ::Pattern ::Node ::Attribute . new (
198
+ name : :selector ,
199
+ value : Mutant ::AST ::Pattern ::Node ::Attribute ::Value ::Single . new ( value : :logger )
200
+ ) ,
201
+ )
202
+ )
203
+ )
204
+ )
205
+ )
206
+ end
207
+
208
+ it 'returns expected node' do
209
+ expect ( apply ) . to eql ( right ( expected_node ) )
210
+ end
211
+ end
212
+
171
213
end
172
214
end
You can’t perform that action at this time.
0 commit comments