Skip to content

Commit 8acce28

Browse files
committed
Tweak specs for Security/YAMLLoad
Follow #10424. Ruby 3.1+ (Psych 4) uses `Psych.load` as `Psych.safe_load` by default. So, only Ruby 3.0 and earlier will be warned about using `YAML.load`.
1 parent b4cc305 commit 8acce28

File tree

1 file changed

+19
-17
lines changed

1 file changed

+19
-17
lines changed

spec/rubocop/cop/security/yaml_load_spec.rb

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -13,26 +13,28 @@
1313
expect_no_offenses('Module::YAML.load("foo")')
1414
end
1515

16-
it 'registers an offense and corrects load with a literal string' do
17-
expect_offense(<<~RUBY)
18-
YAML.load("--- !ruby/object:Foo {}")
19-
^^^^ Prefer using `YAML.safe_load` over `YAML.load`.
20-
RUBY
16+
context 'Ruby <= 3.0', :ruby30 do
17+
it 'registers an offense and corrects load with a literal string' do
18+
expect_offense(<<~RUBY)
19+
YAML.load("--- !ruby/object:Foo {}")
20+
^^^^ Prefer using `YAML.safe_load` over `YAML.load`.
21+
RUBY
2122

22-
expect_correction(<<~RUBY)
23-
YAML.safe_load("--- !ruby/object:Foo {}")
24-
RUBY
25-
end
23+
expect_correction(<<~RUBY)
24+
YAML.safe_load("--- !ruby/object:Foo {}")
25+
RUBY
26+
end
2627

27-
it 'registers an offense and corrects a fully qualified ::YAML.load' do
28-
expect_offense(<<~RUBY)
29-
::YAML.load("--- foo")
30-
^^^^ Prefer using `YAML.safe_load` over `YAML.load`.
31-
RUBY
28+
it 'registers an offense and corrects a fully qualified ::YAML.load' do
29+
expect_offense(<<~RUBY)
30+
::YAML.load("--- foo")
31+
^^^^ Prefer using `YAML.safe_load` over `YAML.load`.
32+
RUBY
3233

33-
expect_correction(<<~RUBY)
34-
::YAML.safe_load("--- foo")
35-
RUBY
34+
expect_correction(<<~RUBY)
35+
::YAML.safe_load("--- foo")
36+
RUBY
37+
end
3638
end
3739

3840
# Ruby 3.1+ (Psych 4) uses `Psych.load` as `Psych.safe_load` by default.

0 commit comments

Comments
 (0)