~ubuntu-branches/ubuntu/quantal/ruby1.9.1/quantal

« back to all changes in this revision

Viewing changes to test/json/test_json_addition.rb

  • Committer: Bazaar Package Importer
  • Author(s): Lucas Nussbaum
  • Date: 2011-09-24 19:16:17 UTC
  • mfrom: (1.1.8 upstream) (13.1.7 experimental)
  • Revision ID: james.westby@ubuntu.com-20110924191617-o1qz4rcmqjot8zuy
Tags: 1.9.3~rc1-1
* New upstream release: 1.9.3 RC1.
  + Includes load.c fixes. Closes: #639959.
* Upload to unstable.

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
# -*- coding:utf-8 -*-
3
3
 
4
4
require 'test/unit'
5
 
case ENV['JSON']
6
 
when 'pure' then require 'json/pure'
7
 
when 'ext'  then require 'json/ext'
8
 
else             require 'json'
9
 
end
10
 
require 'json/add/core'
 
5
require File.join(File.dirname(__FILE__), 'setup_variant')
 
6
require 'json/add/core.rb'
11
7
require 'date'
12
8
 
13
9
class TC_JSONAddition < Test::Unit::TestCase
23
19
    def ==(other)
24
20
      a == other.a
25
21
    end
26
 
    
 
22
 
27
23
    def self.json_create(object)
28
24
      new(*object['args'])
29
25
    end
36
32
    end
37
33
  end
38
34
 
 
35
  class A2 < A
 
36
    def to_json(*args)
 
37
      {
 
38
        'json_class'  => self.class.name,
 
39
        'args'        => [ @a ],
 
40
      }.to_json(*args)
 
41
    end
 
42
  end
 
43
 
39
44
  class B
40
45
    def self.json_creatable?
41
46
      false
110
115
    json_raw_object = raw.to_json_raw_object
111
116
    hash = { 'json_class' => 'String', 'raw'=> raw_array }
112
117
    assert_equal hash, json_raw_object
113
 
    assert_match /\A\{.*\}\Z/, json
114
 
    assert_match /"json_class":"String"/, json
115
 
    assert_match /"raw":\[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255\]/, json
 
118
    assert_match(/\A\{.*\}\Z/, json)
 
119
    assert_match(/"json_class":"String"/, json)
 
120
    assert_match(/"raw":\[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255\]/, json)
116
121
    raw_again = JSON.parse(json)
117
122
    assert_equal raw, raw_again
118
123
  end