diff options
Diffstat (limited to 'test/psych/test_tainted.rb')
-rw-r--r-- | test/psych/test_tainted.rb | 131 |
1 files changed, 0 insertions, 131 deletions
diff --git a/test/psych/test_tainted.rb b/test/psych/test_tainted.rb deleted file mode 100644 index dcf150b138..0000000000 --- a/test/psych/test_tainted.rb +++ /dev/null @@ -1,131 +0,0 @@ -# frozen_string_literal: true -require_relative 'helper' - -module Psych - class TestStringTainted < TestCase - class Tainted < Handler - attr_reader :tc - - def initialize tc - @tc = tc - end - - def start_document version, tags, implicit - tags.flatten.each do |tag| - assert_taintedness tag - end - end - - def alias name - assert_taintedness name - end - - def scalar value, anchor, tag, plain, quoted, style - assert_taintedness value - assert_taintedness tag if tag - assert_taintedness anchor if anchor - end - - def start_sequence anchor, tag, implicit, style - assert_taintedness tag if tag - assert_taintedness anchor if anchor - end - - def start_mapping anchor, tag, implicit, style - assert_taintedness tag if tag - assert_taintedness anchor if anchor - end - - def assert_taintedness thing, message = "'#{thing}' should be tainted" - tc.assert thing.tainted?, message - end - end - - class Untainted < Tainted - def assert_taintedness thing, message = "'#{thing}' should not be tainted" - tc.assert !thing.tainted?, message - end - end - - - def setup - handler = Tainted.new self - @parser = Psych::Parser.new handler - end - - def test_tags_are_tainted - assert_taintedness "%TAG !yaml! tag:yaml.org,2002:\n---\n!yaml!str \"foo\"" - end - - def test_alias - assert_taintedness "--- &ponies\n- foo\n- *ponies" - end - - def test_scalar - assert_taintedness "--- ponies" - end - - def test_anchor - assert_taintedness "--- &hi ponies" - end - - def test_scalar_tag - assert_taintedness "--- !str ponies" - end - - def test_seq_start_tag - assert_taintedness "--- !!seq [ a ]" - end - - def test_seq_start_anchor - assert_taintedness "--- &zomg [ a ]" - end - - def test_seq_mapping_tag - assert_taintedness "--- !!map { a: b }" - end - - def test_seq_mapping_anchor - assert_taintedness "--- &himom { a: b }" - end - - def assert_taintedness string - @parser.parse string.dup.taint - end - end - - class TestStringUntainted < TestStringTainted - def setup - handler = Untainted.new self - @parser = Psych::Parser.new handler - end - - def assert_taintedness string - @parser.parse string - end - end - - class TestStringIOUntainted < TestStringTainted - def setup - handler = Untainted.new self - @parser = Psych::Parser.new handler - end - - def assert_taintedness string - @parser.parse StringIO.new(string) - end - end - - class TestIOTainted < TestStringTainted - def assert_taintedness string - Tempfile.create(['something', 'yml']) {|t| - t.binmode - t.write string - t.close - File.open(t.path, 'r:bom|utf-8') { |f| - @parser.parse f - } - } - end - end -end |