[ruby/psych] issue #443: quote Y and N when dumping
https://github.com/ruby/psych/commit/93c8fb443a
This commit is contained in:
parent
cf8fb94295
commit
8ae24e6b08
@ -267,7 +267,7 @@ module Psych
|
||||
tag = 'tag:yaml.org,2002:str'
|
||||
plain = false
|
||||
quote = false
|
||||
elsif o == 'y' || o == 'n'
|
||||
elsif o == 'y' || o == 'Y' || o == 'n' || o == 'N'
|
||||
style = Nodes::Scalar::DOUBLE_QUOTED
|
||||
elsif @line_width && o.length > @line_width
|
||||
style = Nodes::Scalar::FOLDED
|
||||
|
@ -24,10 +24,19 @@ module Psych
|
||||
# "ambiguity" in the emitted document
|
||||
def test_y_is_quoted
|
||||
assert_match(/"y"/, Psych.dump("y"))
|
||||
assert_match(/"Y"/, Psych.dump("Y"))
|
||||
end
|
||||
|
||||
def test_n_is_quoted
|
||||
assert_match(/"n"/, Psych.dump("n"))
|
||||
assert_match(/"N"/, Psych.dump("N"))
|
||||
end
|
||||
|
||||
def test_all_yaml_1_1_booleans_are_quoted
|
||||
yaml_1_1_booleans = %w[y Y yes Yes YES n N no No NO true True TRUE false False FALSE on On ON off Off OFF] # from https://yaml.org/type/bool.html
|
||||
yaml_1_1_booleans.each do |boolean|
|
||||
assert_match(/"#{boolean}"|'#{boolean}'/, Psych.dump(boolean))
|
||||
end
|
||||
end
|
||||
|
||||
def test_string_with_newline
|
||||
|
Loading…
x
Reference in New Issue
Block a user