aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--ext/psych/lib/psych/visitors/json_tree.rb2
-rw-r--r--test/psych/test_json_tree.rb8
3 files changed, 12 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 02bd813e78..33cba2f0c5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Tue Jan 18 02:46:55 2011 Aaron Patterson <aaron@tenderlovemaking.com>
+
+ * ext/psych/lib/psych/visitors/json_tree.rb (visit_String): JSON
+ strings should be dumped with double quotes. [ruby-core:34186]
+
+ * test/psych/test_json_tree.rb: test for double quotes
+
Mon Jan 17 23:36:33 2011 Tanaka Akira <akr@fsij.org>
* array.c (rb_ary_times): less MEMCPY calls.
diff --git a/ext/psych/lib/psych/visitors/json_tree.rb b/ext/psych/lib/psych/visitors/json_tree.rb
index 3502cdb63c..f2dbfb33d7 100644
--- a/ext/psych/lib/psych/visitors/json_tree.rb
+++ b/ext/psych/lib/psych/visitors/json_tree.rb
@@ -6,7 +6,7 @@ module Psych
end
def visit_String o
- @emitter.scalar o.to_s, nil, nil, false, true, Nodes::Scalar::ANY
+ @emitter.scalar o.to_s, nil, nil, false, true, Nodes::Scalar::DOUBLE_QUOTED
end
alias :visit_Symbol :visit_String
end
diff --git a/test/psych/test_json_tree.rb b/test/psych/test_json_tree.rb
index 84bd36ce57..96e17be961 100644
--- a/test/psych/test_json_tree.rb
+++ b/test/psych/test_json_tree.rb
@@ -3,11 +3,11 @@ require_relative 'helper'
module Psych
class TestJSONTree < TestCase
def test_string
- assert_match(/(['"])foo\1/, Psych.to_json("foo"))
+ assert_match(/"foo"/, Psych.to_json("foo"))
end
def test_symbol
- assert_match(/(['"])foo\1/, Psych.to_json(:foo))
+ assert_match(/"foo"/, Psych.to_json(:foo))
end
def test_nil
@@ -36,8 +36,8 @@ module Psych
json = Psych.to_json(list)
assert_match(/]$/, json)
assert_match(/^\[/, json)
- assert_match(/['"]one['"]/, json)
- assert_match(/['"]two['"]/, json)
+ assert_match(/"one"/, json)
+ assert_match(/"two"/, json)
end
end
end