json-stream 0.2.0 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
data/spec/builder_spec.rb DELETED
@@ -1,157 +0,0 @@
1
- # encoding: UTF-8
2
-
3
- require 'json/stream'
4
- require 'minitest/autorun'
5
-
6
- describe JSON::Stream::Builder do
7
- let(:parser) { JSON::Stream::Parser.new }
8
- subject { JSON::Stream::Builder.new(parser) }
9
-
10
- it 'builds a false value' do
11
- assert_nil subject.result
12
- subject.start_document
13
- subject.value(false)
14
- assert_nil subject.result
15
- subject.end_document
16
- assert_equal false, subject.result
17
- end
18
-
19
- it 'builds a string value' do
20
- assert_nil subject.result
21
- subject.start_document
22
- subject.value("test")
23
- assert_nil subject.result
24
- subject.end_document
25
- assert_equal "test", subject.result
26
- end
27
-
28
- it 'builds an empty array' do
29
- assert_nil subject.result
30
- subject.start_document
31
- subject.start_array
32
- subject.end_array
33
- assert_nil subject.result
34
- subject.end_document
35
- assert_equal [], subject.result
36
- end
37
-
38
- it 'builds an array of numbers' do
39
- subject.start_document
40
- subject.start_array
41
- subject.value(1)
42
- subject.value(2)
43
- subject.value(3)
44
- subject.end_array
45
- subject.end_document
46
- assert_equal [1, 2, 3], subject.result
47
- end
48
-
49
- it 'builds nested empty arrays' do
50
- subject.start_document
51
- subject.start_array
52
- subject.start_array
53
- subject.end_array
54
- subject.end_array
55
- subject.end_document
56
- assert_equal [[]], subject.result
57
- end
58
-
59
- it 'builds nested arrays of numbers' do
60
- subject.start_document
61
- subject.start_array
62
- subject.value(1)
63
- subject.start_array
64
- subject.value(2)
65
- subject.end_array
66
- subject.value(3)
67
- subject.end_array
68
- subject.end_document
69
- assert_equal [1, [2], 3], subject.result
70
- end
71
-
72
- it 'builds an empty object' do
73
- subject.start_document
74
- subject.start_object
75
- subject.end_object
76
- subject.end_document
77
- assert_equal({}, subject.result)
78
- end
79
-
80
- it 'builds a complex object' do
81
- subject.start_document
82
- subject.start_object
83
- subject.key("k1")
84
- subject.value(1)
85
- subject.key("k2")
86
- subject.value(nil)
87
- subject.key("k3")
88
- subject.value(true)
89
- subject.key("k4")
90
- subject.value(false)
91
- subject.key("k5")
92
- subject.value("string value")
93
- subject.end_object
94
- subject.end_document
95
- expected = {
96
- "k1" => 1,
97
- "k2" => nil,
98
- "k3" => true,
99
- "k4" => false,
100
- "k5" => "string value"
101
- }
102
- assert_equal expected, subject.result
103
- end
104
-
105
- it 'builds a nested object' do
106
- subject.start_document
107
- subject.start_object
108
- subject.key("k1")
109
- subject.value(1)
110
-
111
- subject.key("k2")
112
- subject.start_object
113
- subject.end_object
114
-
115
- subject.key("k3")
116
- subject.start_object
117
- subject.key("sub1")
118
- subject.start_array
119
- subject.value(12)
120
- subject.end_array
121
- subject.end_object
122
-
123
- subject.key("k4")
124
- subject.start_array
125
- subject.value(1)
126
- subject.start_object
127
- subject.key("sub2")
128
- subject.start_array
129
- subject.value(nil)
130
- subject.end_array
131
- subject.end_object
132
- subject.end_array
133
-
134
- subject.key("k5")
135
- subject.value("string value")
136
- subject.end_object
137
- subject.end_document
138
- expected = {
139
- "k1" => 1,
140
- "k2" => {},
141
- "k3" => {"sub1" => [12]},
142
- "k4" => [1, {"sub2" => [nil]}],
143
- "k5" => "string value"
144
- }
145
- assert_equal expected, subject.result
146
- end
147
-
148
- it 'builds a real document' do
149
- refute_nil subject
150
- parser << File.read('spec/fixtures/repository.json')
151
- refute_nil subject.result
152
- assert_equal 'rails', subject.result['name']
153
- assert_equal 4223, subject.result['owner']['id']
154
- assert_equal false, subject.result['fork']
155
- assert_equal nil, subject.result['mirror_url']
156
- end
157
- end
@@ -1,107 +0,0 @@
1
- {
2
- "id": 8514,
3
- "name": "rails",
4
- "full_name": "rails/rails",
5
- "owner": {
6
- "login": "rails",
7
- "id": 4223,
8
- "avatar_url": "https://avatars.githubusercontent.com/u/4223?",
9
- "gravatar_id": "30f39a09e233e8369dddf6feb4be0308",
10
- "url": "https://api.github.com/users/rails",
11
- "html_url": "https://github.com/rails",
12
- "followers_url": "https://api.github.com/users/rails/followers",
13
- "following_url": "https://api.github.com/users/rails/following{/other_user}",
14
- "gists_url": "https://api.github.com/users/rails/gists{/gist_id}",
15
- "starred_url": "https://api.github.com/users/rails/starred{/owner}{/repo}",
16
- "subscriptions_url": "https://api.github.com/users/rails/subscriptions",
17
- "organizations_url": "https://api.github.com/users/rails/orgs",
18
- "repos_url": "https://api.github.com/users/rails/repos",
19
- "events_url": "https://api.github.com/users/rails/events{/privacy}",
20
- "received_events_url": "https://api.github.com/users/rails/received_events",
21
- "type": "Organization",
22
- "site_admin": false
23
- },
24
- "private": false,
25
- "html_url": "https://github.com/rails/rails",
26
- "description": "Ruby on Rails",
27
- "fork": false,
28
- "url": "https://api.github.com/repos/rails/rails",
29
- "forks_url": "https://api.github.com/repos/rails/rails/forks",
30
- "keys_url": "https://api.github.com/repos/rails/rails/keys{/key_id}",
31
- "collaborators_url": "https://api.github.com/repos/rails/rails/collaborators{/collaborator}",
32
- "teams_url": "https://api.github.com/repos/rails/rails/teams",
33
- "hooks_url": "https://api.github.com/repos/rails/rails/hooks",
34
- "issue_events_url": "https://api.github.com/repos/rails/rails/issues/events{/number}",
35
- "events_url": "https://api.github.com/repos/rails/rails/events",
36
- "assignees_url": "https://api.github.com/repos/rails/rails/assignees{/user}",
37
- "branches_url": "https://api.github.com/repos/rails/rails/branches{/branch}",
38
- "tags_url": "https://api.github.com/repos/rails/rails/tags",
39
- "blobs_url": "https://api.github.com/repos/rails/rails/git/blobs{/sha}",
40
- "git_tags_url": "https://api.github.com/repos/rails/rails/git/tags{/sha}",
41
- "git_refs_url": "https://api.github.com/repos/rails/rails/git/refs{/sha}",
42
- "trees_url": "https://api.github.com/repos/rails/rails/git/trees{/sha}",
43
- "statuses_url": "https://api.github.com/repos/rails/rails/statuses/{sha}",
44
- "languages_url": "https://api.github.com/repos/rails/rails/languages",
45
- "stargazers_url": "https://api.github.com/repos/rails/rails/stargazers",
46
- "contributors_url": "https://api.github.com/repos/rails/rails/contributors",
47
- "subscribers_url": "https://api.github.com/repos/rails/rails/subscribers",
48
- "subscription_url": "https://api.github.com/repos/rails/rails/subscription",
49
- "commits_url": "https://api.github.com/repos/rails/rails/commits{/sha}",
50
- "git_commits_url": "https://api.github.com/repos/rails/rails/git/commits{/sha}",
51
- "comments_url": "https://api.github.com/repos/rails/rails/comments{/number}",
52
- "issue_comment_url": "https://api.github.com/repos/rails/rails/issues/comments/{number}",
53
- "contents_url": "https://api.github.com/repos/rails/rails/contents/{+path}",
54
- "compare_url": "https://api.github.com/repos/rails/rails/compare/{base}...{head}",
55
- "merges_url": "https://api.github.com/repos/rails/rails/merges",
56
- "archive_url": "https://api.github.com/repos/rails/rails/{archive_format}{/ref}",
57
- "downloads_url": "https://api.github.com/repos/rails/rails/downloads",
58
- "issues_url": "https://api.github.com/repos/rails/rails/issues{/number}",
59
- "pulls_url": "https://api.github.com/repos/rails/rails/pulls{/number}",
60
- "milestones_url": "https://api.github.com/repos/rails/rails/milestones{/number}",
61
- "notifications_url": "https://api.github.com/repos/rails/rails/notifications{?since,all,participating}",
62
- "labels_url": "https://api.github.com/repos/rails/rails/labels{/name}",
63
- "releases_url": "https://api.github.com/repos/rails/rails/releases{/id}",
64
- "created_at": "2008-04-11T02:19:47Z",
65
- "updated_at": "2014-06-25T21:08:45Z",
66
- "pushed_at": "2014-06-25T17:47:52Z",
67
- "git_url": "git://github.com/rails/rails.git",
68
- "ssh_url": "git@github.com:rails/rails.git",
69
- "clone_url": "https://github.com/rails/rails.git",
70
- "svn_url": "https://github.com/rails/rails",
71
- "homepage": "http://rubyonrails.org",
72
- "size": 331047,
73
- "stargazers_count": 22248,
74
- "watchers_count": 22248,
75
- "language": "Ruby",
76
- "has_issues": true,
77
- "has_downloads": true,
78
- "has_wiki": false,
79
- "forks_count": 8278,
80
- "mirror_url": null,
81
- "open_issues_count": 625,
82
- "forks": 8278,
83
- "open_issues": 625,
84
- "watchers": 22248,
85
- "default_branch": "master",
86
- "organization": {
87
- "login": "rails",
88
- "id": 4223,
89
- "avatar_url": "https://avatars.githubusercontent.com/u/4223?",
90
- "gravatar_id": "30f39a09e233e8369dddf6feb4be0308",
91
- "url": "https://api.github.com/users/rails",
92
- "html_url": "https://github.com/rails",
93
- "followers_url": "https://api.github.com/users/rails/followers",
94
- "following_url": "https://api.github.com/users/rails/following{/other_user}",
95
- "gists_url": "https://api.github.com/users/rails/gists{/gist_id}",
96
- "starred_url": "https://api.github.com/users/rails/starred{/owner}{/repo}",
97
- "subscriptions_url": "https://api.github.com/users/rails/subscriptions",
98
- "organizations_url": "https://api.github.com/users/rails/orgs",
99
- "repos_url": "https://api.github.com/users/rails/repos",
100
- "events_url": "https://api.github.com/users/rails/events{/privacy}",
101
- "received_events_url": "https://api.github.com/users/rails/received_events",
102
- "type": "Organization",
103
- "site_admin": false
104
- },
105
- "network_count": 8278,
106
- "subscribers_count": 1521
107
- }