Skip to content

Commit 4162a24

Browse files
authored
Reapply "Remove safe_level and further positional arguments (#7)" (#95)
This reverts commit 1c02d23.
1 parent a5d4248 commit 4162a24

3 files changed

Lines changed: 17 additions & 85 deletions

File tree

‎NEWS.md‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Change Lo
22

3+
## Unreleased (to be 6.0.0)
4+
5+
- Remove `safe_level` and further positional arguments from `ERB.new`
6+
37
## 5.1.3
48

59
* Release v5.1.2 with trusted publishing for JRuby

‎lib/erb.rb‎

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -853,20 +853,7 @@ def self.version
853853
# [newline control]: rdoc-ref:ERB@Suppressing+Unwanted+Newlines
854854
# [shorthand format]: rdoc-ref:ERB@Shorthand+Format+for+Execution+Tags
855855
#
856-
definitialize(str,safe_level=NOT_GIVEN,legacy_trim_mode=NOT_GIVEN,legacy_eoutvar=NOT_GIVEN,trim_mode: nil,eoutvar: '_erbout')
857-
# Complex initializer for $SAFE deprecation at [Feature #14256]. Use keyword arguments to pass trim_mode or eoutvar.
858-
ifsafe_level != NOT_GIVEN
859-
warn'Passing safe_level with the 2nd argument of ERB.new is deprecated. Do not use it, and specify other arguments as keyword arguments.',uplevel: 1
860-
end
861-
iflegacy_trim_mode != NOT_GIVEN
862-
warn'Passing trim_mode with the 3rd argument of ERB.new is deprecated. Use keyword argument like ERB.new(str, trim_mode: ...) instead.',uplevel: 1
863-
trim_mode=legacy_trim_mode
864-
end
865-
iflegacy_eoutvar != NOT_GIVEN
866-
warn'Passing eoutvar with the 4th argument of ERB.new is deprecated. Use keyword argument like ERB.new(str, eoutvar: ...) instead.',uplevel: 1
867-
eoutvar=legacy_eoutvar
868-
end
869-
856+
definitialize(str,trim_mode: nil,eoutvar: '_erbout')
870857
compiler=make_compiler(trim_mode)
871858
set_eoutvar(compiler,eoutvar)
872859
@src,@encoding,@frozen_string= *compiler.compile(str)

‎test/erb/test_erb.rb‎

Lines changed: 12 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -24,29 +24,6 @@ def test_with_filename
2424
assert_match(/\Atest filename:1\b/,e.backtrace[0])
2525
end
2626

27-
# [deprecated] This will be removed later
28-
deftest_without_filename_with_safe_level
29-
erb=EnvUtil.suppress_warningdo
30-
ERB.new("<% raise ::TestERB::MyError %>",1)
31-
end
32-
e=assert_raise(MyError){
33-
erb.result
34-
}
35-
assert_match(/\A\(erb\):1\b/,e.backtrace[0])
36-
end
37-
38-
# [deprecated] This will be removed later
39-
deftest_with_filename_and_safe_level
40-
erb=EnvUtil.suppress_warningdo
41-
ERB.new("<% raise ::TestERB::MyError %>",1)
42-
end
43-
erb.filename="test filename"
44-
e=assert_raise(MyError){
45-
erb.result
46-
}
47-
assert_match(/\Atest filename:1\b/,e.backtrace[0])
48-
end
49-
5027
deftest_with_filename_lineno
5128
erb=ERB.new("<% raise ::TestERB::MyError %>")
5229
erb.filename="test filename"
@@ -117,25 +94,16 @@ def test_version
11794
end
11895

11996
deftest_core
120-
# [deprecated] Fix initializer later
121-
EnvUtil.suppress_warningdo
122-
_test_core(nil)
123-
_test_core(0)
124-
_test_core(1)
125-
end
126-
end
127-
128-
def_test_core(safe)
12997
erb=@erb.new("hello")
13098
assert_equal("hello",erb.result)
13199

132-
erb=@erb.new("hello",safe,0)
100+
erb=@erb.new("hello",trim_mode:0)
133101
assert_equal("hello",erb.result)
134102

135-
erb=@erb.new("hello",safe,1)
103+
erb=@erb.new("hello",trim_mode:1)
136104
assert_equal("hello",erb.result)
137105

138-
erb=@erb.new("hello",safe,2)
106+
erb=@erb.new("hello",trim_mode:2)
139107
assert_equal("hello",erb.result)
140108

141109
src=<<EOS
@@ -163,9 +131,9 @@ def _test_core(safe)
163131
EOS
164132
erb=@erb.new(src)
165133
assert_equal(ans,erb.result)
166-
erb=@erb.new(src,safe,0)
134+
erb=@erb.new(src,trim_mode:0)
167135
assert_equal(ans,erb.result)
168-
erb=@erb.new(src,safe,'')
136+
erb=EnvUtil.suppress_warning{@erb.new(src,trim_mode:'')}
169137
assert_equal(ans,erb.result)
170138

171139
ans=<<EOS
@@ -176,9 +144,9 @@ def _test_core(safe)
176144
* 1% n=0
177145
* 2
178146
EOS
179-
erb=@erb.new(src,safe,1)
147+
erb=@erb.new(src,trim_mode:1)
180148
assert_equal(ans.chomp,erb.result)
181-
erb=@erb.new(src,safe,'>')
149+
erb=@erb.new(src,trim_mode:'>')
182150
assert_equal(ans.chomp,erb.result)
183151

184152
ans=<<EOS
@@ -192,9 +160,9 @@ def _test_core(safe)
192160
* 2
193161
EOS
194162

195-
erb=@erb.new(src,safe,2)
163+
erb=@erb.new(src,trim_mode:2)
196164
assert_equal(ans,erb.result)
197-
erb=@erb.new(src,safe,'<>')
165+
erb=@erb.new(src,trim_mode:'<>')
198166
assert_equal(ans,erb.result)
199167

200168
ans=<<EOS
@@ -208,15 +176,15 @@ def _test_core(safe)
208176
* 0
209177
210178
EOS
211-
erb=@erb.new(src,safe,'%')
179+
erb=@erb.new(src,trim_mode:'%')
212180
assert_equal(ans,erb.result)
213181

214182
ans=<<EOS
215183
% hi
216184
= hello
217185
* 0* 0* 0
218186
EOS
219-
erb=@erb.new(src,safe,'%>')
187+
erb=@erb.new(src,trim_mode:'%>')
220188
assert_equal(ans.chomp,erb.result)
221189

222190
ans=<<EOS
@@ -226,7 +194,7 @@ def _test_core(safe)
226194
* 0
227195
* 0
228196
EOS
229-
erb=@erb.new(src,safe,'%<>')
197+
erb=@erb.new(src,trim_mode:'%<>')
230198
assert_equal(ans,erb.result)
231199
end
232200

@@ -254,12 +222,6 @@ def test_explicit_trim_line_with_carriage_return
254222
assert_equal("line\r\n" * 3,erb.result)
255223
end
256224

257-
deftest_safe_level_warning
258-
assert_warning(/#{__FILE__}:#{__LINE__ + 1}/)do
259-
@erb.new("",1)
260-
end
261-
end
262-
263225
deftest_invalid_trim_mode
264226
pendifRUBY_ENGINE == 'truffleruby'
265227

@@ -688,27 +650,6 @@ def test_half_working_comment_backward_compatibility
688650
end
689651
end
690652

691-
# [deprecated] These interfaces will be removed later
692-
deftest_deprecated_interface_warnings
693-
[nil,0,1,2].eachdo |safe|
694-
assert_warn(/2nd argument of ERB.new is deprecated/)do
695-
ERB.new('',safe)
696-
end
697-
end
698-
699-
[nil,'','%','%<>'].eachdo |trim|
700-
assert_warn(/3rd argument of ERB.new is deprecated/)do
701-
ERB.new('',nil,trim)
702-
end
703-
end
704-
705-
[nil,'_erbout','_hamlout'].eachdo |eoutvar|
706-
assert_warn(/4th argument of ERB.new is deprecated/)do
707-
ERB.new('',nil,nil,eoutvar)
708-
end
709-
end
710-
end
711-
712653
deftest_prohibited_marshal_dump
713654
erb=ERB.new("")
714655
assert_raise(TypeError){Marshal.dump(erb)}

0 commit comments

Comments
 (0)