summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAaron Patterson <tenderlove@ruby-lang.org>2021-08-04 17:10:02 -0700
committerGitHub <noreply@github.com>2021-08-04 17:10:02 -0700
commit02f759dd74cbd3787263c5a32b7505fc8ddf76cc (patch)
treefb18fccb5b96335dc30a7229d08d59fbf55b3c12 /test
parent0179e0cf481018c83f711211bb0f15a1871fa335 (diff)
parent6a1c30634e61967f3d8133b3181b9f301ff7f550 (diff)
downloadpsych-02f759dd74cbd3787263c5a32b7505fc8ddf76cc.tar.gz
Merge pull request #515 from ruby/quote-y-n
Add quotes to the strings "y" and "n"
Diffstat (limited to 'test')
-rw-r--r--test/psych/test_string.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/test/psych/test_string.rb b/test/psych/test_string.rb
index 20ab79c..0dc34b3 100644
--- a/test/psych/test_string.rb
+++ b/test/psych/test_string.rb
@@ -17,6 +17,19 @@ module Psych
end
end
+ # 'y' and 'n' are kind of ambiguous. Syck treated y and n literals in
+ # YAML documents as strings. But this is not what the YAML 1.1 spec says.
+ # YAML 1.1 says they should be treated as booleans. When we're dumping
+ # documents, we know it's a string, so adding quotes will eliminate the
+ # "ambiguity" in the emitted document
+ def test_y_is_quoted
+ assert_match(/"y"/, Psych.dump("y"))
+ end
+
+ def test_n_is_quoted
+ assert_match(/"n"/, Psych.dump("n"))
+ end
+
def test_string_with_newline
assert_equal "1\n2", Psych.load("--- ! '1\n\n 2'\n")
end