mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	 0cf0b82418
			
		
	
	
		0cf0b82418
		
	
	
	
	
		
			
			(RubyForge#15447) * math.c: fix typo. -- M ChangeLog M math.c M ext/json/ext/generator/generator.c M ext/json/ext/parser/parser.rl M ext/json/ext/parser/parser.c M lib/json/version.rb M lib/json/editor.rb M lib/json/common.rb M lib/json/pure/parser.rb M test/json/test_json_unicode.rb M test/json/test_json_fixtures.rb M test/json/test_json_generate.rb M test/json/test_json_addition.rb M test/json/test_json.rb M test/json/runner.rb git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14044 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
		
			
				
	
	
		
			80 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| require 'test/unit'
 | |
| require 'json'
 | |
| 
 | |
| class TC_JSONGenerate < Test::Unit::TestCase
 | |
|   include JSON
 | |
| 
 | |
|   def setup
 | |
|     @hash = {
 | |
|       'a' => 2,
 | |
|       'b' => 3.141,
 | |
|       'c' => 'c',
 | |
|       'd' => [ 1, "b", 3.14 ],
 | |
|       'e' => { 'foo' => 'bar' },
 | |
|       'g' => "\"\0\037",
 | |
|       'h' => 1000.0,
 | |
|       'i' => 0.001
 | |
|     }
 | |
|     @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
 | |
|   end
 | |
| 
 | |
|   def test_unparse
 | |
|     json = unparse(@hash)
 | |
|     assert_equal(JSON.parse(@json2), JSON.parse(json))
 | |
|     parsed_json = parse(json)
 | |
|     assert_equal(@hash, parsed_json)
 | |
|     json = generate({1=>2})
 | |
|     assert_equal('{"1":2}', json)
 | |
|     parsed_json = parse(json)
 | |
|     assert_equal({"1"=>2}, parsed_json)
 | |
|   end
 | |
| 
 | |
|   def test_unparse_pretty
 | |
|     json = pretty_unparse(@hash)
 | |
|     assert_equal(JSON.parse(@json3), JSON.parse(json))
 | |
|     parsed_json = parse(json)
 | |
|     assert_equal(@hash, parsed_json)
 | |
|     json = pretty_generate({1=>2})
 | |
|     assert_equal(<<'EOT'.chomp, json)
 | |
| {
 | |
|   "1": 2
 | |
| }
 | |
| EOT
 | |
|     parsed_json = parse(json)
 | |
|     assert_equal({"1"=>2}, parsed_json)
 | |
|   end
 | |
| 
 | |
|   def test_states
 | |
|     json = generate({1=>2}, nil)
 | |
|     assert_equal('{"1":2}', json)
 | |
|     s = JSON.state.new(:check_circular => true)
 | |
|     #assert s.check_circular
 | |
|     h = { 1=>2 }
 | |
|     h[3] = h
 | |
|     assert_raises(JSON::CircularDatastructure) {  generate(h, s) }
 | |
|     s = JSON.state.new(:check_circular => true)
 | |
|     #assert s.check_circular
 | |
|     a = [ 1, 2 ]
 | |
|     a << a
 | |
|     assert_raises(JSON::CircularDatastructure) {  generate(a, s) }
 | |
|   end
 | |
| end
 |