[ruby/json] Modernize heredocs
https://github.com/ruby/json/commit/fb25e94aea
This commit is contained in:
parent
bfdf02ea72
commit
1045b9f820
@ -378,13 +378,13 @@ require 'json/common'
|
||||
# json1 = JSON.generate(ruby)
|
||||
# ruby1 = JSON.parse(json1, create_additions: true)
|
||||
# # Make a nice display.
|
||||
# display = <<EOT
|
||||
# Generated JSON:
|
||||
# Without addition: #{json0} (#{json0.class})
|
||||
# With addition: #{json1} (#{json1.class})
|
||||
# Parsed JSON:
|
||||
# Without addition: #{ruby0.inspect} (#{ruby0.class})
|
||||
# With addition: #{ruby1.inspect} (#{ruby1.class})
|
||||
# display = <<~EOT
|
||||
# Generated JSON:
|
||||
# Without addition: #{json0} (#{json0.class})
|
||||
# With addition: #{json1} (#{json1.class})
|
||||
# Parsed JSON:
|
||||
# Without addition: #{ruby0.inspect} (#{ruby0.class})
|
||||
# With addition: #{ruby1.inspect} (#{ruby1.class})
|
||||
# EOT
|
||||
# puts display
|
||||
#
|
||||
@ -562,13 +562,13 @@ require 'json/common'
|
||||
# json1 = JSON.generate(foo1)
|
||||
# obj1 = JSON.parse(json1, create_additions: true)
|
||||
# # Make a nice display.
|
||||
# display = <<EOT
|
||||
# Generated JSON:
|
||||
# Without custom addition: #{json0} (#{json0.class})
|
||||
# With custom addition: #{json1} (#{json1.class})
|
||||
# Parsed JSON:
|
||||
# Without custom addition: #{obj0.inspect} (#{obj0.class})
|
||||
# With custom addition: #{obj1.inspect} (#{obj1.class})
|
||||
# display = <<~EOT
|
||||
# Generated JSON:
|
||||
# Without custom addition: #{json0} (#{json0.class})
|
||||
# With custom addition: #{json1} (#{json1.class})
|
||||
# Parsed JSON:
|
||||
# Without custom addition: #{obj0.inspect} (#{obj0.class})
|
||||
# With custom addition: #{obj1.inspect} (#{obj1.class})
|
||||
# EOT
|
||||
# puts display
|
||||
#
|
||||
|
@ -195,17 +195,17 @@ module JSON
|
||||
# {Parsing \JSON}[#module-JSON-label-Parsing+JSON].
|
||||
#
|
||||
# Parses nested JSON objects:
|
||||
# source = <<-EOT
|
||||
# {
|
||||
# "name": "Dave",
|
||||
# "age" :40,
|
||||
# "hats": [
|
||||
# "Cattleman's",
|
||||
# "Panama",
|
||||
# "Tophat"
|
||||
# ]
|
||||
# }
|
||||
# EOT
|
||||
# source = <<~JSON
|
||||
# {
|
||||
# "name": "Dave",
|
||||
# "age" :40,
|
||||
# "hats": [
|
||||
# "Cattleman's",
|
||||
# "Panama",
|
||||
# "Tophat"
|
||||
# ]
|
||||
# }
|
||||
# JSON
|
||||
# ruby = JSON.parse(source)
|
||||
# ruby # => {"name"=>"Dave", "age"=>40, "hats"=>["Cattleman's", "Panama", "Tophat"]}
|
||||
#
|
||||
@ -445,17 +445,17 @@ module JSON
|
||||
# <tt>parse(source, opts)</tt>; see #parse.
|
||||
#
|
||||
# Source for following examples:
|
||||
# source = <<-EOT
|
||||
# {
|
||||
# "name": "Dave",
|
||||
# "age" :40,
|
||||
# "hats": [
|
||||
# "Cattleman's",
|
||||
# "Panama",
|
||||
# "Tophat"
|
||||
# ]
|
||||
# }
|
||||
# EOT
|
||||
# source = <<~JSON
|
||||
# {
|
||||
# "name": "Dave",
|
||||
# "age" :40,
|
||||
# "hats": [
|
||||
# "Cattleman's",
|
||||
# "Panama",
|
||||
# "Tophat"
|
||||
# ]
|
||||
# }
|
||||
# JSON
|
||||
#
|
||||
# Load a \String:
|
||||
# ruby = JSON.load(source)
|
||||
|
@ -19,24 +19,24 @@ class JSONGeneratorTest < Test::Unit::TestCase
|
||||
}
|
||||
@json2 = '{"a":2,"b":3.141,"c":"c","d":[1,"b",3.14],"e":{"foo":"bar"},' +
|
||||
'"g":"\\"\\u0000\\u001f","h":1000.0,"i":0.001}'
|
||||
@json3 = <<'EOT'.chomp
|
||||
{
|
||||
"a": 2,
|
||||
"b": 3.141,
|
||||
"c": "c",
|
||||
"d": [
|
||||
1,
|
||||
"b",
|
||||
3.14
|
||||
],
|
||||
"e": {
|
||||
"foo": "bar"
|
||||
},
|
||||
"g": "\"\u0000\u001f",
|
||||
"h": 1000.0,
|
||||
"i": 0.001
|
||||
}
|
||||
EOT
|
||||
@json3 = <<~'JSON'.chomp
|
||||
{
|
||||
"a": 2,
|
||||
"b": 3.141,
|
||||
"c": "c",
|
||||
"d": [
|
||||
1,
|
||||
"b",
|
||||
3.14
|
||||
],
|
||||
"e": {
|
||||
"foo": "bar"
|
||||
},
|
||||
"g": "\"\u0000\u001f",
|
||||
"h": 1000.0,
|
||||
"i": 0.001
|
||||
}
|
||||
JSON
|
||||
end
|
||||
|
||||
def silence
|
||||
@ -93,13 +93,13 @@ EOT
|
||||
assert_equal('{}', json)
|
||||
|
||||
json = pretty_generate({1=>{}, 2=>[], 3=>4})
|
||||
assert_equal(<<'EOT'.chomp, json)
|
||||
{
|
||||
"1": {},
|
||||
"2": [],
|
||||
"3": 4
|
||||
}
|
||||
EOT
|
||||
assert_equal(<<~'JSON'.chomp, json)
|
||||
{
|
||||
"1": {},
|
||||
"2": [],
|
||||
"3": 4
|
||||
}
|
||||
JSON
|
||||
|
||||
json = pretty_generate(@hash)
|
||||
# hashes aren't (insertion) ordered on every ruby implementation
|
||||
@ -108,11 +108,11 @@ EOT
|
||||
parsed_json = parse(json)
|
||||
assert_equal(@hash, parsed_json)
|
||||
json = pretty_generate({1=>2})
|
||||
assert_equal(<<'EOT'.chomp, json)
|
||||
{
|
||||
"1": 2
|
||||
}
|
||||
EOT
|
||||
assert_equal(<<~'JSON'.chomp, json)
|
||||
{
|
||||
"1": 2
|
||||
}
|
||||
JSON
|
||||
parsed_json = parse(json)
|
||||
assert_equal({"1"=>2}, parsed_json)
|
||||
assert_equal '666', pretty_generate(666)
|
||||
@ -121,14 +121,14 @@ EOT
|
||||
def test_generate_custom
|
||||
state = State.new(:space_before => " ", :space => " ", :indent => "<i>", :object_nl => "\n", :array_nl => "<a_nl>")
|
||||
json = generate({1=>{2=>3,4=>[5,6]}}, state)
|
||||
assert_equal(<<'EOT'.chomp, json)
|
||||
{
|
||||
<i>"1" : {
|
||||
<i><i>"2" : 3,
|
||||
<i><i>"4" : [<a_nl><i><i><i>5,<a_nl><i><i><i>6<a_nl><i><i>]
|
||||
<i>}
|
||||
}
|
||||
EOT
|
||||
assert_equal(<<~'JSON'.chomp, json)
|
||||
{
|
||||
<i>"1" : {
|
||||
<i><i>"2" : 3,
|
||||
<i><i>"4" : [<a_nl><i><i><i>5,<a_nl><i><i><i>6<a_nl><i><i>]
|
||||
<i>}
|
||||
}
|
||||
JSON
|
||||
end
|
||||
|
||||
def test_fast_generate
|
||||
|
@ -247,50 +247,50 @@ class JSONParserTest < Test::Unit::TestCase
|
||||
end
|
||||
|
||||
def test_parse_comments
|
||||
json = <<EOT
|
||||
{
|
||||
"key1":"value1", // eol comment
|
||||
"key2":"value2" /* multi line
|
||||
* comment */,
|
||||
"key3":"value3" /* multi line
|
||||
// nested eol comment
|
||||
* comment */
|
||||
}
|
||||
EOT
|
||||
json = <<~JSON
|
||||
{
|
||||
"key1":"value1", // eol comment
|
||||
"key2":"value2" /* multi line
|
||||
* comment */,
|
||||
"key3":"value3" /* multi line
|
||||
// nested eol comment
|
||||
* comment */
|
||||
}
|
||||
JSON
|
||||
assert_equal(
|
||||
{ "key1" => "value1", "key2" => "value2", "key3" => "value3" },
|
||||
parse(json))
|
||||
json = <<EOT
|
||||
{
|
||||
"key1":"value1" /* multi line
|
||||
// nested eol comment
|
||||
/* illegal nested multi line comment */
|
||||
* comment */
|
||||
}
|
||||
EOT
|
||||
json = <<~JSON
|
||||
{
|
||||
"key1":"value1" /* multi line
|
||||
// nested eol comment
|
||||
/* illegal nested multi line comment */
|
||||
* comment */
|
||||
}
|
||||
JSON
|
||||
assert_raise(ParserError) { parse(json) }
|
||||
json = <<EOT
|
||||
{
|
||||
"key1":"value1" /* multi line
|
||||
// nested eol comment
|
||||
/* legal nested multi line comment start sequence */
|
||||
}
|
||||
EOT
|
||||
json = <<~JSON
|
||||
{
|
||||
"key1":"value1" /* multi line
|
||||
// nested eol comment
|
||||
/* legal nested multi line comment start sequence */
|
||||
}
|
||||
JSON
|
||||
assert_equal({ "key1" => "value1" }, parse(json))
|
||||
json = <<EOT
|
||||
{
|
||||
"key1":"value1" /* multi line
|
||||
// nested eol comment
|
||||
closed multi comment */
|
||||
and again, throw an Error */
|
||||
}
|
||||
EOT
|
||||
json = <<~JSON
|
||||
{
|
||||
"key1":"value1" /* multi line
|
||||
// nested eol comment
|
||||
closed multi comment */
|
||||
and again, throw an Error */
|
||||
}
|
||||
JSON
|
||||
assert_raise(ParserError) { parse(json) }
|
||||
json = <<EOT
|
||||
{
|
||||
"key1":"value1" /*/*/
|
||||
}
|
||||
EOT
|
||||
json = <<~JSON
|
||||
{
|
||||
"key1":"value1" /*/*/
|
||||
}
|
||||
JSON
|
||||
assert_equal({ "key1" => "value1" }, parse(json))
|
||||
end
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user