diff options
author | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2020-12-14 20:13:12 +0900 |
---|---|---|
committer | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2020-12-14 20:13:12 +0900 |
commit | c2a60fec2f79c05bdb865c143b6ad8eddfc6cc36 (patch) | |
tree | 5ccf2881ca3f82ecc787a676e170476fd0a2bbcd /test/psych | |
parent | 27520a1e1e8ac1ef0607a75d654e2cff6d36e15a (diff) |
Merge Psych-3.2.1 from ruby/psych
Diffstat (limited to 'test/psych')
-rw-r--r-- | test/psych/test_exception.rb | 12 | ||||
-rw-r--r-- | test/psych/test_psych.rb | 12 |
2 files changed, 24 insertions, 0 deletions
diff --git a/test/psych/test_exception.rb b/test/psych/test_exception.rb index e355c2692d..78601d09c7 100644 --- a/test/psych/test_exception.rb +++ b/test/psych/test_exception.rb @@ -118,6 +118,18 @@ module Psych } end + def test_safe_load_file_exception + Tempfile.create(['loadfile', 'yml']) {|t| + t.binmode + t.write '--- `' + t.close + ex = assert_raises(Psych::SyntaxError) do + Psych.safe_load_file t.path + end + assert_equal t.path, ex.file + } + end + def test_psych_parse_takes_file ex = assert_raises(Psych::SyntaxError) do Psych.parse '--- `' diff --git a/test/psych/test_psych.rb b/test/psych/test_psych.rb index 7219e8395e..30612ded8f 100644 --- a/test/psych/test_psych.rb +++ b/test/psych/test_psych.rb @@ -319,6 +319,18 @@ class TestPsych < Psych::TestCase } end + def test_safe_load_file_with_permitted_classe + Tempfile.create(['false', 'yml']) {|t| + t.binmode + t.write("--- !ruby/range\nbegin: 0\nend: 42\nexcl: false\n") + t.close + assert_equal 0..42, Psych.safe_load_file(t.path, permitted_classes: [Range]) + assert_raises(Psych::DisallowedClass) { + Psych.safe_load_file(t.path) + } + } + end + def test_parse_file Tempfile.create(['yikes', 'yml']) {|t| t.binmode |