blob: 02df9f97da58ac4c623237cec9bbd298f32c2af2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# frozen_string_literal: true
require_relative "helper"
Gem.load_yaml
class TestGemSafeYAML < Gem::TestCase
def test_aliases_enabled_by_default
assert_predicate Gem::SafeYAML, :aliases_enabled?
assert_equal({ "a" => "a", "b" => "a" }, Gem::SafeYAML.safe_load("a: &a a\nb: *a\n"))
end
def test_aliases_disabled
aliases_enabled = Gem::SafeYAML.aliases_enabled?
Gem::SafeYAML.aliases_enabled = false
refute_predicate Gem::SafeYAML, :aliases_enabled?
expected_error = defined?(Psych::AliasesNotEnabled) ? Psych::AliasesNotEnabled : Psych::BadAlias
assert_raise expected_error do
Gem::SafeYAML.safe_load("a: &a\nb: *a\n")
end
ensure
Gem::SafeYAML.aliases_enabled = aliases_enabled
end
end
|