badgerfish 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b7c1a88f33b56e7836b23a1193cc6e82f4f99bf4
4
- data.tar.gz: 35c0a77f11ce687702cd4cf4a07ce55776c00f41
3
+ metadata.gz: 2935514e764c7dc10742884cb398c7805441a59c
4
+ data.tar.gz: cd36eadc909f78e45dfefbfac9205c7d4ffc0b9d
5
5
  SHA512:
6
- metadata.gz: c535b98094ff4a329b1297c7f147e6b5087d968c42cd7087e8c355311ede2ceba7b7f8b7997a23243e4c62dd3c32c488d9b3b921163f87f48fc7f49ecf4772e2
7
- data.tar.gz: 8a8c2120dc6d51df367f176abd063f6c627650dbd082732ad8c973292a32d528e449c5d1d2a45f71fb4e7b54a7f98c072029086a142fd87559e6d2bad8ddd595
6
+ metadata.gz: 3f8d5d082c241db7c9771b4fb7c55280fdbc42371667cb50f55221356b2ef440dda269fa1a21c0ab6ce9cd49f57c9bdbd0c3ecf81abd5e232fd701339e110b9f
7
+ data.tar.gz: 694d4daae83abfeb4a9a1d61806cce92b606130221024f1cfcd9eef6015ee1fd4633486c8c77c683f93eecd98e06a58862175324a756aef6314770ccad391f3f
data/badgerfish.gemspec CHANGED
@@ -20,11 +20,12 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_dependency 'ox', '~> 2.0.8'
22
22
 
23
- spec.add_development_dependency 'bundler', '~> 1.3'
24
- spec.add_development_dependency 'minitest', '~> 5.0.6'
25
- spec.add_development_dependency 'multi_json', '~> 1.7.9'
26
- spec.add_development_dependency 'oj', '~> 2.1.4'
27
- spec.add_development_dependency 'pry', '~> 0.9.12.2'
28
- spec.add_development_dependency 'pry-nav', '~> 0.2.3'
23
+ spec.add_development_dependency 'activesupport', '>= 3.2.0', '< 5.0.0'
24
+ spec.add_development_dependency 'bundler', '~> 1.3'
25
+ spec.add_development_dependency 'minitest', '~> 5.0.6'
26
+ spec.add_development_dependency 'multi_json', '~> 1.7.9'
27
+ spec.add_development_dependency 'oj', '~> 2.1.4'
28
+ spec.add_development_dependency 'pry', '~> 0.9.12.2'
29
+ spec.add_development_dependency 'pry-nav', '~> 0.2.3'
29
30
  spec.add_development_dependency 'rake'
30
31
  end
@@ -16,6 +16,7 @@ module Badgerfish
16
16
  #
17
17
  def start_element(name)
18
18
  new_element = {}
19
+ name = name.to_s # force string representation of symbols
19
20
 
20
21
  if @root[name].nil?
21
22
  @root[name] = new_element
@@ -1,3 +1,3 @@
1
1
  module Badgerfish
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -0,0 +1,141 @@
1
+ module TestBadgerfishNingCom
2
+
3
+ def test_badgerfish_ning_com_nr_2
4
+ xml = '<alice>bob</alice>'
5
+ expected_json = <<-json
6
+ {
7
+ "alice":{
8
+ "$":"bob"
9
+ }
10
+ }
11
+ json
12
+
13
+ assert_badgerfish xml, expected_json
14
+ end
15
+
16
+ def test_badgerfish_ning_com_nr_3
17
+ xml = '<alice><bob>charlie</bob><david>edgar</david></alice>'
18
+ expected_json = <<-json
19
+ {
20
+ "alice":{
21
+ "bob":{
22
+ "$":"charlie"
23
+ },
24
+ "david":{
25
+ "$":"edgar"
26
+ }
27
+ }
28
+ }
29
+ json
30
+
31
+ assert_badgerfish xml, expected_json
32
+ end
33
+
34
+ def test_badgerfish_ning_com_nr_4
35
+ xml = '<alice><bob>charlie</bob><bob>david</bob></alice>'
36
+ expected_json = <<-json
37
+ {
38
+ "alice":{
39
+ "bob":[
40
+ {
41
+ "$":"charlie"
42
+ },
43
+ {
44
+ "$":"david"
45
+ }
46
+ ]
47
+ }
48
+ }
49
+ json
50
+
51
+ assert_badgerfish xml, expected_json
52
+ end
53
+
54
+ def test_badgerfish_ning_com_nr_5
55
+ xml = '<alice charlie="david">bob</alice>'
56
+ expected_json = <<-json
57
+ {
58
+ "alice":{
59
+ "@charlie":"david",
60
+ "$":"bob"
61
+ }
62
+ }
63
+ json
64
+
65
+ assert_badgerfish xml, expected_json
66
+ end
67
+
68
+ def test_badgerfish_ning_com_nr_7
69
+ xml = '<alice xmlns="http://some-namespace">bob</alice>'
70
+ expected_json = <<-json
71
+ {
72
+ "alice":{
73
+ "@xmlns":{
74
+ "$":"http://some-namespace"
75
+ },
76
+ "$":"bob"
77
+ }
78
+ }
79
+ json
80
+
81
+ assert_badgerfish xml, expected_json
82
+ end
83
+
84
+ def test_badgerfish_ning_com_nr_8
85
+ xml = <<-xml
86
+ <alice xmlns="http://some-namespace" xmlns:charlie="http://some-other-namespace">bob</alice>
87
+ xml
88
+ expected_json = <<-json
89
+ {
90
+ "alice":{
91
+ "@xmlns":{
92
+ "$":"http://some-namespace",
93
+ "charlie":"http://some-other-namespace"
94
+ },
95
+ "$":"bob"
96
+ }
97
+ }
98
+ json
99
+
100
+ assert_badgerfish xml, expected_json
101
+ end
102
+
103
+ def test_badgerfish_ning_com_nr_9
104
+ skip("child node namespaces not supported yet")
105
+
106
+ xml = <<-xml
107
+ <alice xmlns="http://some-namespace" xmlns:charlie="http://some-other-namespace">
108
+ <bob>david</bob>
109
+ <charlie:edgar>frank</charlie:edgar>
110
+ </alice>
111
+ xml
112
+
113
+ expected_json = <<-json
114
+ {
115
+ "alice":{
116
+ "@xmlns":{
117
+ "$":"http://some-namespace",
118
+ "charlie":"http://some-other-namespace"
119
+ },
120
+ "bob":{
121
+ "@xmlns":{
122
+ "$":"http://some-namespace",
123
+ "charlie":"http://some-other-namespace"
124
+ },
125
+ "$":"david"
126
+ },
127
+ "charlie:edgar":{
128
+ "$":"frank",
129
+ "@xmlns":{
130
+ "$":"http://some-namespace",
131
+ "charlie":"http://some-other-namespace"
132
+ }
133
+ }
134
+ }
135
+ }
136
+ json
137
+
138
+ assert_badgerfish xml, expected_json
139
+ end
140
+
141
+ end
@@ -4,143 +4,12 @@ class TestBadgerfish < Minitest::Test
4
4
  def setup
5
5
  @parser = Badgerfish::Parser.new
6
6
  end
7
+ end
7
8
 
8
- def test_badgerfish_ning_com_nr_2
9
- xml = '<alice>bob</alice>'
10
- expected_json = <<-json
11
- {
12
- "alice":{
13
- "$":"bob"
14
- }
15
- }
16
- json
17
-
18
- assert_badgerfish xml, expected_json
19
- end
20
-
21
- def test_badgerfish_ning_com_nr_3
22
- xml = '<alice><bob>charlie</bob><david>edgar</david></alice>'
23
- expected_json = <<-json
24
- {
25
- "alice":{
26
- "bob":{
27
- "$":"charlie"
28
- },
29
- "david":{
30
- "$":"edgar"
31
- }
32
- }
33
- }
34
- json
35
-
36
- assert_badgerfish xml, expected_json
37
- end
38
-
39
- def test_badgerfish_ning_com_nr_4
40
- xml = '<alice><bob>charlie</bob><bob>david</bob></alice>'
41
- expected_json = <<-json
42
- {
43
- "alice":{
44
- "bob":[
45
- {
46
- "$":"charlie"
47
- },
48
- {
49
- "$":"david"
50
- }
51
- ]
52
- }
53
- }
54
- json
55
-
56
- assert_badgerfish xml, expected_json
57
- end
58
-
59
- def test_badgerfish_ning_com_nr_5
60
- xml = '<alice charlie="david">bob</alice>'
61
- expected_json = <<-json
62
- {
63
- "alice":{
64
- "@charlie":"david",
65
- "$":"bob"
66
- }
67
- }
68
- json
69
-
70
- assert_badgerfish xml, expected_json
71
- end
72
-
73
- def test_badgerfish_ning_com_nr_7
74
- xml = '<alice xmlns="http://some-namespace">bob</alice>'
75
- expected_json = <<-json
76
- {
77
- "alice":{
78
- "@xmlns":{
79
- "$":"http://some-namespace"
80
- },
81
- "$":"bob"
82
- }
83
- }
84
- json
85
-
86
- assert_badgerfish xml, expected_json
87
- end
88
-
89
- def test_badgerfish_ning_com_nr_8
90
- xml = <<-xml
91
- <alice xmlns="http://some-namespace" xmlns:charlie="http://some-other-namespace">bob</alice>
92
- xml
93
- expected_json = <<-json
94
- {
95
- "alice":{
96
- "@xmlns":{
97
- "$":"http://some-namespace",
98
- "charlie":"http://some-other-namespace"
99
- },
100
- "$":"bob"
101
- }
102
- }
103
- json
104
-
105
- assert_badgerfish xml, expected_json
106
- end
107
-
108
- def test_badgerfish_ning_com_nr_9
109
- skip("child node namespaces not supported yet")
110
-
111
- xml = <<-xml
112
- <alice xmlns="http://some-namespace" xmlns:charlie="http://some-other-namespace">
113
- <bob>david</bob>
114
- <charlie:edgar>frank</charlie:edgar>
115
- </alice>
116
- xml
117
-
118
- expected_json = <<-json
119
- {
120
- "alice":{
121
- "@xmlns":{
122
- "$":"http://some-namespace",
123
- "charlie":"http://some-other-namespace"
124
- },
125
- "bob":{
126
- "@xmlns":{
127
- "$":"http://some-namespace",
128
- "charlie":"http://some-other-namespace"
129
- },
130
- "$":"david"
131
- },
132
- "charlie:edgar":{
133
- "$":"frank",
134
- "@xmlns":{
135
- "$":"http://some-namespace",
136
- "charlie":"http://some-other-namespace"
137
- }
138
- }
139
- }
140
- }
141
- json
142
-
143
- assert_badgerfish xml, expected_json
9
+ # require and include all mabmapper test modules
10
+ Dir.glob(File.expand_path '../badgerfish/test_*.rb', __FILE__).each do |filename|
11
+ require filename
12
+ TestBadgerfish.instance_eval do
13
+ include File.basename(filename, '.rb').camelize.constantize
144
14
  end
145
-
146
15
  end
data/test/test_helper.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  # silence that minitest related error about minitest/autorun (since minitest version >= 5)
2
2
  gem 'minitest'
3
3
 
4
+ require 'active_support/core_ext'
4
5
  require 'badgerfish'
5
6
  require 'minitest/autorun'
6
7
  require 'multi_json'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: badgerfish
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Sievers
@@ -24,6 +24,26 @@ dependencies:
24
24
  - - ~>
25
25
  - !ruby/object:Gem::Version
26
26
  version: 2.0.8
27
+ - !ruby/object:Gem::Dependency
28
+ name: activesupport
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: 3.2.0
34
+ - - <
35
+ - !ruby/object:Gem::Version
36
+ version: 5.0.0
37
+ type: :development
38
+ prerelease: false
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - '>='
42
+ - !ruby/object:Gem::Version
43
+ version: 3.2.0
44
+ - - <
45
+ - !ruby/object:Gem::Version
46
+ version: 5.0.0
27
47
  - !ruby/object:Gem::Dependency
28
48
  name: bundler
29
49
  requirement: !ruby/object:Gem::Requirement
@@ -140,6 +160,7 @@ files:
140
160
  - lib/badgerfish/ox_sax_parser.rb
141
161
  - lib/badgerfish/parser.rb
142
162
  - lib/badgerfish/version.rb
163
+ - test/badgerfish/test_badgerfish_ning_com.rb
143
164
  - test/test_badgerfish.rb
144
165
  - test/test_helper.rb
145
166
  homepage: https://github.com/msievers/badgerfish
@@ -167,5 +188,6 @@ signing_key:
167
188
  specification_version: 4
168
189
  summary: Badgerfish xml to json convention for ruby
169
190
  test_files:
191
+ - test/badgerfish/test_badgerfish_ning_com.rb
170
192
  - test/test_badgerfish.rb
171
193
  - test/test_helper.rb