summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/psych/json/test_stream.rb20
-rw-r--r--test/psych/test_json_tree.rb11
2 files changed, 31 insertions, 0 deletions
diff --git a/test/psych/json/test_stream.rb b/test/psych/json/test_stream.rb
index 252535abaa..45d0219aad 100644
--- a/test/psych/json/test_stream.rb
+++ b/test/psych/json/test_stream.rb
@@ -71,6 +71,26 @@ module Psych
assert_match(/["]two["]/, json)
end
+ class Foo; end
+
+ def test_json_dump_exclude_tag
+ @stream << Foo.new
+ json = @io.string
+ refute_match('Foo', json)
+ end
+
+ class Bar
+ def encode_with coder
+ coder.represent_seq 'omg', %w{ a b c }
+ end
+ end
+
+ def test_json_list_dump_exclude_tag
+ @stream << Bar.new
+ json = @io.string
+ refute_match('omg', json)
+ end
+
def test_time
time = Time.utc(2010, 10, 10)
@stream.push({'a' => time })
diff --git a/test/psych/test_json_tree.rb b/test/psych/test_json_tree.rb
index 423a528b81..b694560367 100644
--- a/test/psych/test_json_tree.rb
+++ b/test/psych/test_json_tree.rb
@@ -31,6 +31,17 @@ module Psych
assert_match(/['"]two['"]/, json)
end
+ class Bar
+ def encode_with coder
+ coder.represent_seq 'omg', %w{ a b c }
+ end
+ end
+
+ def test_json_list_dump_exclude_tag
+ json = Psych.to_json Bar.new
+ refute_match('omg', json)
+ end
+
def test_list_to_json
list = %w{ one two }
json = Psych.to_json(list)