synvert-core 0.7.5 → 0.8.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -16
- data/lib/synvert/core/rewriter/action/append_action.rb +38 -0
- data/lib/synvert/core/rewriter/action/insert_action.rb +48 -0
- data/lib/synvert/core/rewriter/action/insert_after_action.rb +30 -0
- data/lib/synvert/core/rewriter/action/remove_action.rb +29 -0
- data/lib/synvert/core/rewriter/action/replace_erb_stmt_with_expr_action.rb +40 -0
- data/lib/synvert/core/rewriter/action/replace_with_action.rb +45 -0
- data/lib/synvert/core/rewriter/action.rb +1 -212
- data/lib/synvert/core/rewriter/condition/if_exist_condition.rb +15 -0
- data/lib/synvert/core/rewriter/condition/if_only_exist_condition.rb +12 -0
- data/lib/synvert/core/rewriter/condition/unless_exist_condition.rb +15 -0
- data/lib/synvert/core/rewriter/condition.rb +0 -33
- data/lib/synvert/core/rewriter/instance.rb +3 -0
- data/lib/synvert/core/rewriter/scope/goto_scope.rb +27 -0
- data/lib/synvert/core/rewriter/scope/within_scope.rb +36 -0
- data/lib/synvert/core/rewriter/scope.rb +0 -57
- data/lib/synvert/core/rewriter.rb +11 -11
- data/lib/synvert/core/version.rb +1 -1
- data/spec/synvert/core/rewriter/action/append_action_spec.rb +47 -0
- data/spec/synvert/core/rewriter/action/insert_action_spec.rb +89 -0
- data/spec/synvert/core/rewriter/action/insert_after_action_spec.rb +24 -0
- data/spec/synvert/core/rewriter/action/remove_action_spec.rb +24 -0
- data/spec/synvert/core/rewriter/action/replace_erb_stmt_with_expr_action_spec.rb +6 -0
- data/spec/synvert/core/rewriter/action/replace_with_action_spec.rb +53 -0
- data/spec/synvert/core/rewriter/action_spec.rb +0 -222
- data/spec/synvert/core/rewriter/condition/if_exist_condition_spec.rb +36 -0
- data/spec/synvert/core/rewriter/condition/if_only_exist_condition_spec.rb +43 -0
- data/spec/synvert/core/rewriter/condition/unless_exist_condition_spec.rb +36 -0
- data/spec/synvert/core/rewriter/condition_spec.rb +0 -83
- data/spec/synvert/core/rewriter/scope/goto_scope_spec.rb +34 -0
- data/spec/synvert/core/rewriter/scope/within_scope.rb +46 -0
- data/spec/synvert/core/rewriter/scope_spec.rb +1 -72
- metadata +35 -2
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module Synvert::Core
|
4
|
+
describe Rewriter::UnlessExistCondition do
|
5
|
+
let(:source) {
|
6
|
+
"""
|
7
|
+
RSpec.configure do |config|
|
8
|
+
config.include EmailSpec::Helpers
|
9
|
+
config.include EmailSpec::Methods
|
10
|
+
end
|
11
|
+
"""
|
12
|
+
}
|
13
|
+
let(:node) { Parser::CurrentRuby.parse(source) }
|
14
|
+
let(:instance) { double(:current_node => node) }
|
15
|
+
|
16
|
+
describe '#process' do
|
17
|
+
it 'call block if match anything' do
|
18
|
+
run = false
|
19
|
+
condition = Rewriter::UnlessExistCondition.new instance, type: 'send', message: 'include', arguments: ['FactoryGirl::Syntax::Methods'] do
|
20
|
+
run = true
|
21
|
+
end
|
22
|
+
condition.process
|
23
|
+
expect(run).to be_truthy
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'not call block if not match anything' do
|
27
|
+
run = false
|
28
|
+
condition = Rewriter::UnlessExistCondition.new instance, type: 'send', message: 'include', arguments: ['EmailSpec::Helpers'] do
|
29
|
+
run = true
|
30
|
+
end
|
31
|
+
condition.process
|
32
|
+
expect(run).to be_falsey
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -2,88 +2,5 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
module Synvert::Core
|
4
4
|
describe Rewriter::Condition do
|
5
|
-
let(:source) {
|
6
|
-
"""
|
7
|
-
RSpec.configure do |config|
|
8
|
-
config.include EmailSpec::Helpers
|
9
|
-
config.include EmailSpec::Methods
|
10
|
-
end
|
11
|
-
"""
|
12
|
-
}
|
13
|
-
let(:node) { Parser::CurrentRuby.parse(source) }
|
14
|
-
let(:instance) { double(:current_node => node) }
|
15
|
-
|
16
|
-
describe Rewriter::IfExistCondition do
|
17
|
-
describe '#process' do
|
18
|
-
it 'call block if match anything' do
|
19
|
-
run = false
|
20
|
-
condition = Rewriter::IfExistCondition.new instance, type: 'send', message: 'include', arguments: ['EmailSpec::Helpers'] do
|
21
|
-
run = true
|
22
|
-
end
|
23
|
-
condition.process
|
24
|
-
expect(run).to be_truthy
|
25
|
-
end
|
26
|
-
|
27
|
-
it 'not call block if not match anything' do
|
28
|
-
run = false
|
29
|
-
condition = Rewriter::IfExistCondition.new instance, type: 'send', message: 'include', arguments: ['FactoryGirl::SyntaxMethods'] do
|
30
|
-
run = true
|
31
|
-
end
|
32
|
-
condition.process
|
33
|
-
expect(run).to be_falsey
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
describe Rewriter::UnlessExistCondition do
|
39
|
-
describe '#process' do
|
40
|
-
it 'call block if match anything' do
|
41
|
-
run = false
|
42
|
-
condition = Rewriter::UnlessExistCondition.new instance, type: 'send', message: 'include', arguments: ['FactoryGirl::Syntax::Methods'] do
|
43
|
-
run = true
|
44
|
-
end
|
45
|
-
condition.process
|
46
|
-
expect(run).to be_truthy
|
47
|
-
end
|
48
|
-
|
49
|
-
it 'not call block if not match anything' do
|
50
|
-
run = false
|
51
|
-
condition = Rewriter::UnlessExistCondition.new instance, type: 'send', message: 'include', arguments: ['EmailSpec::Helpers'] do
|
52
|
-
run = true
|
53
|
-
end
|
54
|
-
condition.process
|
55
|
-
expect(run).to be_falsey
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
59
|
-
|
60
|
-
describe Rewriter::IfOnlyExistCondition do
|
61
|
-
describe '#process' do
|
62
|
-
it 'gets matching nodes' do
|
63
|
-
source = """
|
64
|
-
RSpec.configure do |config|
|
65
|
-
config.include EmailSpec::Helpers
|
66
|
-
end
|
67
|
-
"""
|
68
|
-
node = Parser::CurrentRuby.parse(source)
|
69
|
-
instance = double(:current_node => node)
|
70
|
-
run = false
|
71
|
-
condition = Rewriter::IfOnlyExistCondition.new instance, type: 'send', message: 'include', arguments: ['EmailSpec::Helpers'] do
|
72
|
-
run = true
|
73
|
-
end
|
74
|
-
condition.process
|
75
|
-
expect(run).to be_truthy
|
76
|
-
end
|
77
|
-
|
78
|
-
it 'not call block if does not match' do
|
79
|
-
run = false
|
80
|
-
condition = Rewriter::IfOnlyExistCondition.new instance, type: 'send', message: 'include', arguments: ['EmailSpec::Helpers'] do
|
81
|
-
run = true
|
82
|
-
end
|
83
|
-
condition.process
|
84
|
-
expect(run).to be_falsey
|
85
|
-
end
|
86
|
-
end
|
87
|
-
end
|
88
5
|
end
|
89
6
|
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module Synvert::Core
|
4
|
+
describe Rewriter::GotoScope do
|
5
|
+
let(:instance) {
|
6
|
+
rewriter = Rewriter.new('foo', 'bar')
|
7
|
+
Rewriter::Instance.new(rewriter, 'file pattern')
|
8
|
+
}
|
9
|
+
let(:source) {'''
|
10
|
+
Factory.define :user do |user|
|
11
|
+
end
|
12
|
+
'''}
|
13
|
+
let(:node) { Parser::CurrentRuby.parse(source) }
|
14
|
+
before do
|
15
|
+
Rewriter::Instance.reset
|
16
|
+
instance.current_node = node
|
17
|
+
end
|
18
|
+
|
19
|
+
describe '#process' do
|
20
|
+
it 'call block with child node' do
|
21
|
+
run = false
|
22
|
+
type_in_scope = nil
|
23
|
+
scope = Rewriter::GotoScope.new instance, :caller do
|
24
|
+
run = true
|
25
|
+
type_in_scope = node.type
|
26
|
+
end
|
27
|
+
scope.process
|
28
|
+
expect(run).to be_truthy
|
29
|
+
expect(type_in_scope).to eq :send
|
30
|
+
expect(instance.current_node.type).to eq :block
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module Synvert::Core
|
4
|
+
describe Rewriter::WithinScope do
|
5
|
+
let(:instance) {
|
6
|
+
rewriter = Rewriter.new('foo', 'bar')
|
7
|
+
Rewriter::Instance.new(rewriter, 'file pattern')
|
8
|
+
}
|
9
|
+
let(:source) {"""
|
10
|
+
describe Post do
|
11
|
+
it 'gets post' do
|
12
|
+
FactoryGirl.create :post
|
13
|
+
end
|
14
|
+
end
|
15
|
+
"""}
|
16
|
+
let(:node) { Parser::CurrentRuby.parse(source) }
|
17
|
+
before do
|
18
|
+
Rewriter::Instance.reset
|
19
|
+
instance.current_node = node
|
20
|
+
end
|
21
|
+
|
22
|
+
describe '#process' do
|
23
|
+
it 'not call block if no matching node' do
|
24
|
+
run = false
|
25
|
+
scope = Rewriter::WithinScope.new instance, type: 'send', message: 'missing' do
|
26
|
+
run = true
|
27
|
+
end
|
28
|
+
scope.process
|
29
|
+
expect(run).to be_falsey
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'call block if there is matching node' do
|
33
|
+
run = false
|
34
|
+
type_in_scope = nil
|
35
|
+
scope = Rewriter::WithinScope.new instance, type: 'send', receiver: 'FactoryGirl', message: 'create', arguments: [':post'] do
|
36
|
+
run = true
|
37
|
+
type_in_scope = node.type
|
38
|
+
end
|
39
|
+
scope.process
|
40
|
+
expect(run).to be_truthy
|
41
|
+
expect(type_in_scope).to eq :send
|
42
|
+
expect(instance.current_node.type).to eq :block
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -1,77 +1,6 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
module Synvert::Core
|
4
|
-
describe Rewriter::
|
5
|
-
let(:instance) {
|
6
|
-
rewriter = Rewriter.new('foo', 'bar')
|
7
|
-
Rewriter::Instance.new(rewriter, 'file pattern')
|
8
|
-
}
|
9
|
-
let(:source) {"""
|
10
|
-
describe Post do
|
11
|
-
it 'gets post' do
|
12
|
-
FactoryGirl.create :post
|
13
|
-
end
|
14
|
-
end
|
15
|
-
"""}
|
16
|
-
let(:node) { Parser::CurrentRuby.parse(source) }
|
17
|
-
before do
|
18
|
-
Rewriter::Instance.reset
|
19
|
-
instance.current_node = node
|
20
|
-
end
|
21
|
-
|
22
|
-
describe '#process' do
|
23
|
-
it 'not call block if no matching node' do
|
24
|
-
run = false
|
25
|
-
scope = Rewriter::WithinScope.new instance, type: 'send', message: 'missing' do
|
26
|
-
run = true
|
27
|
-
end
|
28
|
-
scope.process
|
29
|
-
expect(run).to be_falsey
|
30
|
-
end
|
31
|
-
|
32
|
-
it 'call block if there is matching node' do
|
33
|
-
run = false
|
34
|
-
type_in_scope = nil
|
35
|
-
scope = Rewriter::WithinScope.new instance, type: 'send', receiver: 'FactoryGirl', message: 'create', arguments: [':post'] do
|
36
|
-
run = true
|
37
|
-
type_in_scope = node.type
|
38
|
-
end
|
39
|
-
scope.process
|
40
|
-
expect(run).to be_truthy
|
41
|
-
expect(type_in_scope).to eq :send
|
42
|
-
expect(instance.current_node.type).to eq :block
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
46
|
-
|
47
|
-
describe Rewriter::GotoScope do
|
48
|
-
let(:instance) {
|
49
|
-
rewriter = Rewriter.new('foo', 'bar')
|
50
|
-
Rewriter::Instance.new(rewriter, 'file pattern')
|
51
|
-
}
|
52
|
-
let(:source) {'''
|
53
|
-
Factory.define :user do |user|
|
54
|
-
end
|
55
|
-
'''}
|
56
|
-
let(:node) { Parser::CurrentRuby.parse(source) }
|
57
|
-
before do
|
58
|
-
Rewriter::Instance.reset
|
59
|
-
instance.current_node = node
|
60
|
-
end
|
61
|
-
|
62
|
-
describe '#process' do
|
63
|
-
it 'call block with child node' do
|
64
|
-
run = false
|
65
|
-
type_in_scope = nil
|
66
|
-
scope = Rewriter::GotoScope.new instance, :caller do
|
67
|
-
run = true
|
68
|
-
type_in_scope = node.type
|
69
|
-
end
|
70
|
-
scope.process
|
71
|
-
expect(run).to be_truthy
|
72
|
-
expect(type_in_scope).to eq :send
|
73
|
-
expect(instance.current_node.type).to eq :block
|
74
|
-
end
|
75
|
-
end
|
4
|
+
describe Rewriter::Scope do
|
76
5
|
end
|
77
6
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: synvert-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Richard Huang
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-10-
|
11
|
+
date: 2014-10-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: parser
|
@@ -146,11 +146,22 @@ files:
|
|
146
146
|
- lib/synvert/core/node_ext.rb
|
147
147
|
- lib/synvert/core/rewriter.rb
|
148
148
|
- lib/synvert/core/rewriter/action.rb
|
149
|
+
- lib/synvert/core/rewriter/action/append_action.rb
|
150
|
+
- lib/synvert/core/rewriter/action/insert_action.rb
|
151
|
+
- lib/synvert/core/rewriter/action/insert_after_action.rb
|
152
|
+
- lib/synvert/core/rewriter/action/remove_action.rb
|
153
|
+
- lib/synvert/core/rewriter/action/replace_erb_stmt_with_expr_action.rb
|
154
|
+
- lib/synvert/core/rewriter/action/replace_with_action.rb
|
149
155
|
- lib/synvert/core/rewriter/condition.rb
|
156
|
+
- lib/synvert/core/rewriter/condition/if_exist_condition.rb
|
157
|
+
- lib/synvert/core/rewriter/condition/if_only_exist_condition.rb
|
158
|
+
- lib/synvert/core/rewriter/condition/unless_exist_condition.rb
|
150
159
|
- lib/synvert/core/rewriter/gem_spec.rb
|
151
160
|
- lib/synvert/core/rewriter/helper.rb
|
152
161
|
- lib/synvert/core/rewriter/instance.rb
|
153
162
|
- lib/synvert/core/rewriter/scope.rb
|
163
|
+
- lib/synvert/core/rewriter/scope/goto_scope.rb
|
164
|
+
- lib/synvert/core/rewriter/scope/within_scope.rb
|
154
165
|
- lib/synvert/core/rewriter/warning.rb
|
155
166
|
- lib/synvert/core/version.rb
|
156
167
|
- spec/spec_helper.rb
|
@@ -158,11 +169,22 @@ files:
|
|
158
169
|
- spec/synvert/core/configuration_spec.rb
|
159
170
|
- spec/synvert/core/engine/erb_spec.rb
|
160
171
|
- spec/synvert/core/node_ext_spec.rb
|
172
|
+
- spec/synvert/core/rewriter/action/append_action_spec.rb
|
173
|
+
- spec/synvert/core/rewriter/action/insert_action_spec.rb
|
174
|
+
- spec/synvert/core/rewriter/action/insert_after_action_spec.rb
|
175
|
+
- spec/synvert/core/rewriter/action/remove_action_spec.rb
|
176
|
+
- spec/synvert/core/rewriter/action/replace_erb_stmt_with_expr_action_spec.rb
|
177
|
+
- spec/synvert/core/rewriter/action/replace_with_action_spec.rb
|
161
178
|
- spec/synvert/core/rewriter/action_spec.rb
|
179
|
+
- spec/synvert/core/rewriter/condition/if_exist_condition_spec.rb
|
180
|
+
- spec/synvert/core/rewriter/condition/if_only_exist_condition_spec.rb
|
181
|
+
- spec/synvert/core/rewriter/condition/unless_exist_condition_spec.rb
|
162
182
|
- spec/synvert/core/rewriter/condition_spec.rb
|
163
183
|
- spec/synvert/core/rewriter/gem_spec_spec.rb
|
164
184
|
- spec/synvert/core/rewriter/helper_spec.rb
|
165
185
|
- spec/synvert/core/rewriter/instance_spec.rb
|
186
|
+
- spec/synvert/core/rewriter/scope/goto_scope_spec.rb
|
187
|
+
- spec/synvert/core/rewriter/scope/within_scope.rb
|
166
188
|
- spec/synvert/core/rewriter/scope_spec.rb
|
167
189
|
- spec/synvert/core/rewriter/warning_spec.rb
|
168
190
|
- spec/synvert/core/rewriter_spec.rb
|
@@ -197,11 +219,22 @@ test_files:
|
|
197
219
|
- spec/synvert/core/configuration_spec.rb
|
198
220
|
- spec/synvert/core/engine/erb_spec.rb
|
199
221
|
- spec/synvert/core/node_ext_spec.rb
|
222
|
+
- spec/synvert/core/rewriter/action/append_action_spec.rb
|
223
|
+
- spec/synvert/core/rewriter/action/insert_action_spec.rb
|
224
|
+
- spec/synvert/core/rewriter/action/insert_after_action_spec.rb
|
225
|
+
- spec/synvert/core/rewriter/action/remove_action_spec.rb
|
226
|
+
- spec/synvert/core/rewriter/action/replace_erb_stmt_with_expr_action_spec.rb
|
227
|
+
- spec/synvert/core/rewriter/action/replace_with_action_spec.rb
|
200
228
|
- spec/synvert/core/rewriter/action_spec.rb
|
229
|
+
- spec/synvert/core/rewriter/condition/if_exist_condition_spec.rb
|
230
|
+
- spec/synvert/core/rewriter/condition/if_only_exist_condition_spec.rb
|
231
|
+
- spec/synvert/core/rewriter/condition/unless_exist_condition_spec.rb
|
201
232
|
- spec/synvert/core/rewriter/condition_spec.rb
|
202
233
|
- spec/synvert/core/rewriter/gem_spec_spec.rb
|
203
234
|
- spec/synvert/core/rewriter/helper_spec.rb
|
204
235
|
- spec/synvert/core/rewriter/instance_spec.rb
|
236
|
+
- spec/synvert/core/rewriter/scope/goto_scope_spec.rb
|
237
|
+
- spec/synvert/core/rewriter/scope/within_scope.rb
|
205
238
|
- spec/synvert/core/rewriter/scope_spec.rb
|
206
239
|
- spec/synvert/core/rewriter/warning_spec.rb
|
207
240
|
- spec/synvert/core/rewriter_spec.rb
|