edn 1.0.6 → 1.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (117) hide show
  1. checksums.yaml +4 -4
  2. data/lib/edn/core_ext.rb +5 -1
  3. data/lib/edn/parser.rb +22 -15
  4. data/lib/edn/version.rb +1 -1
  5. data/spec/edn_spec.rb +22 -74
  6. data/spec/exemplars/big_decimal.edn +1 -0
  7. data/spec/exemplars/big_decimal.rb +1 -0
  8. data/spec/exemplars/big_int.edn +1 -0
  9. data/spec/exemplars/big_int.rb +1 -0
  10. data/spec/exemplars/char.edn +1 -0
  11. data/spec/exemplars/char.rb +1 -0
  12. data/spec/exemplars/empty_string.edn +1 -0
  13. data/spec/exemplars/empty_string.rb +1 -0
  14. data/spec/exemplars/false.edn +1 -0
  15. data/spec/exemplars/false.rb +1 -0
  16. data/spec/exemplars/float.edn +1 -0
  17. data/spec/exemplars/float.rb +1 -0
  18. data/spec/exemplars/float_neg_exp.edn +1 -0
  19. data/spec/exemplars/float_neg_exp.rb +1 -0
  20. data/spec/exemplars/float_point_dec_neg_exp.edn +1 -0
  21. data/spec/exemplars/float_point_dec_neg_exp.rb +1 -0
  22. data/spec/exemplars/float_point_plus_exp.edn +1 -0
  23. data/spec/exemplars/float_point_plus_exp.rb +1 -0
  24. data/spec/exemplars/float_pointneg_exp.edn +1 -0
  25. data/spec/exemplars/float_pointneg_exp.rb +1 -0
  26. data/spec/exemplars/float_pos_exp.edn +1 -0
  27. data/spec/exemplars/float_pos_exp.rb +1 -0
  28. data/spec/exemplars/float_sign_exp.edn +1 -0
  29. data/spec/exemplars/float_sign_exp.rb +1 -0
  30. data/spec/exemplars/float_with_exp.edn +1 -0
  31. data/spec/exemplars/float_with_exp.rb +1 -0
  32. data/spec/exemplars/float_with_exp_no_dec.edn +1 -0
  33. data/spec/exemplars/float_with_exp_no_dec.rb +1 -0
  34. data/spec/exemplars/gt_symbol.edn +1 -0
  35. data/spec/exemplars/gt_symbol.rb +1 -0
  36. data/spec/exemplars/integer.edn +1 -0
  37. data/spec/exemplars/integer.rb +1 -0
  38. data/spec/exemplars/keyword.edn +1 -0
  39. data/spec/exemplars/keyword.rb +1 -0
  40. data/spec/exemplars/keyword_with_namespace.edn +1 -0
  41. data/spec/exemplars/keyword_with_namespace.rb +1 -0
  42. data/spec/exemplars/list_empty.edn +1 -0
  43. data/spec/exemplars/list_empty.rb +1 -0
  44. data/spec/exemplars/list_mixed.edn +1 -0
  45. data/spec/exemplars/list_mixed.rb +1 -0
  46. data/spec/exemplars/list_nested.edn +1 -0
  47. data/spec/exemplars/list_nested.rb +1 -0
  48. data/spec/exemplars/list_one_element.edn +1 -0
  49. data/spec/exemplars/list_one_element.rb +1 -0
  50. data/spec/exemplars/map_empty.edn +1 -0
  51. data/spec/exemplars/map_empty.rb +1 -0
  52. data/spec/exemplars/map_nested.edn +1 -0
  53. data/spec/exemplars/map_nested.rb +1 -0
  54. data/spec/exemplars/map_one_element.edn +1 -0
  55. data/spec/exemplars/map_one_element.rb +1 -0
  56. data/spec/exemplars/map_two_entry.edn +1 -0
  57. data/spec/exemplars/map_two_entry.rb +1 -0
  58. data/spec/exemplars/mmv +4 -0
  59. data/spec/exemplars/nil.edn +1 -0
  60. data/spec/exemplars/nil.rb +1 -0
  61. data/spec/exemplars/set_empty.edn +1 -0
  62. data/spec/exemplars/set_empty.rb +1 -0
  63. data/spec/exemplars/set_nested.edn +1 -0
  64. data/spec/exemplars/set_nested.rb +1 -0
  65. data/spec/exemplars/set_one_element.edn +1 -0
  66. data/spec/exemplars/set_one_element.rb +1 -0
  67. data/spec/exemplars/set_two_elements.edn +1 -0
  68. data/spec/exemplars/set_two_elements.rb +1 -0
  69. data/spec/exemplars/simple_skip.edn +1 -0
  70. data/spec/exemplars/simple_skip.rb +1 -0
  71. data/spec/exemplars/skip_more_space.edn +1 -0
  72. data/spec/exemplars/skip_more_space.rb +1 -0
  73. data/spec/exemplars/skip_more_vector_elements.edn +1 -0
  74. data/spec/exemplars/skip_more_vector_elements.rb +1 -0
  75. data/spec/exemplars/skip_some_vector_elements.edn +1 -0
  76. data/spec/exemplars/skip_some_vector_elements.rb +1 -0
  77. data/spec/exemplars/skip_two_vector_elements.edn +1 -0
  78. data/spec/exemplars/skip_two_vector_elements.rb +1 -0
  79. data/spec/exemplars/skip_vector_element.edn +1 -0
  80. data/spec/exemplars/skip_vector_element.rb +1 -0
  81. data/spec/exemplars/skip_with_spaces.edn +1 -0
  82. data/spec/exemplars/skip_with_spaces.rb +1 -0
  83. data/spec/exemplars/skip_yet_more_space.edn +1 -0
  84. data/spec/exemplars/skip_yet_more_space.rb +1 -0
  85. data/spec/exemplars/special_symbol.edn +1 -0
  86. data/spec/exemplars/special_symbol.rb +1 -0
  87. data/spec/exemplars/string_with_newline.edn +1 -0
  88. data/spec/exemplars/string_with_newline.rb +1 -0
  89. data/spec/exemplars/symbol.edn +1 -0
  90. data/spec/exemplars/symbol.rb +1 -0
  91. data/spec/exemplars/symbol_begins_with_false.edn +1 -0
  92. data/spec/exemplars/symbol_begins_with_false.rb +1 -0
  93. data/spec/exemplars/symbol_begins_with_nil.edn +1 -0
  94. data/spec/exemplars/symbol_begins_with_nil.rb +1 -0
  95. data/spec/exemplars/symbol_with_dash.edn +1 -0
  96. data/spec/exemplars/symbol_with_dash.rb +1 -0
  97. data/spec/exemplars/symbol_with_namespace.edn +1 -0
  98. data/spec/exemplars/symbol_with_namespace.rb +1 -0
  99. data/spec/exemplars/tagged_instant.edn +1 -0
  100. data/spec/exemplars/tagged_instant.rb +1 -0
  101. data/spec/exemplars/tagged_uuid.edn +1 -0
  102. data/spec/exemplars/tagged_uuid.rb +1 -0
  103. data/spec/exemplars/true.edn +1 -0
  104. data/spec/exemplars/true.rb +1 -0
  105. data/spec/exemplars/utf8.edn +1 -0
  106. data/spec/exemplars/utf8.rb +1 -0
  107. data/spec/exemplars/vector_empty.edn +1 -0
  108. data/spec/exemplars/vector_empty.rb +1 -0
  109. data/spec/exemplars/vector_mixed.edn +1 -0
  110. data/spec/exemplars/vector_mixed.rb +1 -0
  111. data/spec/exemplars/vector_nested.edn +1 -0
  112. data/spec/exemplars/vector_nested.rb +1 -0
  113. data/spec/exemplars/vector_one_element.edn +1 -0
  114. data/spec/exemplars/vector_one_element.rb +1 -0
  115. data/spec/exemplars/whole_number_with_exp.edn +1 -0
  116. data/spec/exemplars/whole_number_with_exp.rb +1 -0
  117. metadata +224 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 82a4b6feced4636e4f6b91748475a2ee8f57d247
4
- data.tar.gz: c9b4f97c275c87ec4b854a8b5e7159b7087d2ec0
3
+ metadata.gz: 1bb02d571634529f4b0bc8a979ac125310c9fd5e
4
+ data.tar.gz: f01caa559e45f4bbb08cc20c72e37932fda311da
5
5
  SHA512:
6
- metadata.gz: d0cb76b6de3b2a8cdde99a32e7f611bfed757427e1933d7f17e61386294a3006830c8b4b57c2cc77d1174ba21d1e01a42265d88e601fe353dc804aeae9216c3d
7
- data.tar.gz: 2fb3d91ec4e7f93a65ceb07188c38d3a820688a8c47b1f62a531d2dd09c2e816ff492cc4762c34f3e4c80ea78fa8fde1f21df677b8793338b0df2b069aa5803b
6
+ metadata.gz: c9cb53ec4b37a4b103960637097b263777fb5f94739e03ff681b7f0a0cf3f21d6da7ff5366e54667fe186a535a4954c8daf9686c3662e5c6982527c569ef6685
7
+ data.tar.gz: 7f32edd27958cc7c5ce75a4f5f5e36e1cdd2ea9e7a19f5aad6f3c906be939e2ec8b3af697f9484932239c8e8bec3bad985b457b97c18a400533ba8f89dc17f46
@@ -34,7 +34,11 @@ module EDN
34
34
  end
35
35
 
36
36
  def to_edn
37
- self.inspect
37
+ result = chars.reduce('"') do |result, ch|
38
+ result += '\\' if %w{" \\}.include?(ch)
39
+ result + ch
40
+ end
41
+ result + '"'
38
42
  end
39
43
  end
40
44
 
@@ -86,10 +86,10 @@ module EDN
86
86
  @s = CharStream.new(io)
87
87
  end
88
88
 
89
- def read
89
+ def read(return_nothing=false)
90
90
  meta = read_meta
91
- value = read_basic
92
- if meta
91
+ value = read_basic(return_nothing)
92
+ if meta && value != NOTHING
93
93
  value.extend EDN::Metadata
94
94
  value.metadata = meta
95
95
  end
@@ -228,14 +228,15 @@ module EDN
228
228
  end
229
229
  end
230
230
 
231
- def read_basic
231
+ def read_basic(return_nothing=false)
232
232
  @s.skip_ws
233
233
  ch = @s.current
234
234
  result = call_reader(READERS[ch])
235
- while NOTHING.equal?(result)
235
+ while NOTHING.equal?(result) && !return_nothing
236
236
  @s.skip_ws
237
237
  result = call_reader(READERS[@s.current])
238
238
  end
239
+
239
240
  result
240
241
  end
241
242
 
@@ -260,19 +261,27 @@ module EDN
260
261
 
261
262
  def finish_float(whole_part)
262
263
  result = whole_part
263
- result += @s.skip_past('.', 'Expected .')
264
- result += read_digits(1)
264
+
265
+ if @s.current == '.'
266
+ result += '.'
267
+ @s.advance
268
+ result = @s.digit? ? result + read_digits : result + '0'
269
+ #puts "aaa: #{result}"
270
+ end
271
+
265
272
  if @s.current == 'e' || @s.current == 'E'
266
273
  @s.advance
267
274
  result = result + 'e' + read_digits
275
+ #puts "bbb: #{result}"
268
276
  end
277
+ #puts result
269
278
  result.to_f
270
279
  end
271
280
 
272
281
  def read_number(leading='')
273
282
  result = leading + read_digits
274
283
 
275
- if @s.current == '.'
284
+ if %w{. e E}.include? @s.current
276
285
  return finish_float(result)
277
286
  elsif @s.skip_past('M') || @s.skip_past('N')
278
287
  result.to_i
@@ -320,14 +329,12 @@ module EDN
320
329
  def read_collection(clazz, closing)
321
330
  result = clazz.new
322
331
 
323
- @s.skip_ws
324
-
325
- ch = @s.current
326
- while ch != closing
327
- raise "Unexpected eof" if ch == :eof
328
- result << read
332
+ while true
329
333
  @s.skip_ws
330
- ch = @s.current
334
+ raise "Unexpected eof" if @s.eof?
335
+ break if @s.current == closing
336
+ next_value = read(true)
337
+ result << next_value unless next_value == NOTHING
331
338
  end
332
339
  @s.advance
333
340
  result
@@ -1,3 +1,3 @@
1
1
  module EDN
2
- VERSION = "1.0.6"
2
+ VERSION = "1.0.7"
3
3
  end
@@ -4,6 +4,28 @@ require 'stringio'
4
4
  describe EDN do
5
5
  include RantlyHelpers
6
6
 
7
+ ExemplarPattern = "#{File.dirname(__FILE__)}/exemplars/*.edn"
8
+
9
+ context 'Exemplar' do
10
+ edn_files = Dir[ExemplarPattern]
11
+ edn_files.each do |edn_file|
12
+ rb_file = edn_file.sub(/\.edn$/, '.rb')
13
+ it "reads file #{File.basename(edn_file)} correctly" do
14
+ expected = eval(File.read(rb_file))
15
+ actual = EDN.read(File.read(edn_file))
16
+ actual.should == expected
17
+ end
18
+
19
+ it "round trips the value in #{File.basename(edn_file)} correctly" do
20
+ expected = eval(File.read(rb_file))
21
+ actual = EDN.read(File.read(edn_file))
22
+ round_trip = EDN.read(actual.to_edn)
23
+ round_trip.should == expected
24
+ end
25
+ end
26
+ end
27
+
28
+
7
29
  context "#read" do
8
30
  it "reads from a stream" do
9
31
  io = StringIO.new("123")
@@ -34,66 +56,6 @@ describe EDN do
34
56
  end
35
57
 
36
58
  context "reading data" do
37
- it "reads single elements" do
38
- EDN.read(%q{""}).should == ""
39
- EDN.read("1").should == 1
40
- EDN.read("3.14").should == 3.14
41
- EDN.read("3.14M").should == BigDecimal("3.14")
42
- EDN.read('"hello\nworld"').should == "hello\nworld"
43
- EDN.read('"øhi utf8"').should == "øhi utf8"
44
- EDN.read(':hello').should == :hello
45
- EDN.read(':hello/world').should == :"hello/world"
46
- EDN.read('hello').should == EDN::Type::Symbol.new('hello')
47
- EDN.read('<').should == EDN::Type::Symbol.new('<')
48
- EDN.read('>').should == EDN::Type::Symbol.new('>')
49
- EDN.read('hello/world').should == EDN::Type::Symbol.new('hello/world')
50
- EDN.read('true').should == true
51
- EDN.read('false').should == false
52
- EDN.read('nil').should == nil
53
- EDN.read('\c').should == "c"
54
- end
55
-
56
- it "should support M suffix without decimals" do
57
- EDN.read(123412341231212121241234.to_edn).should == 123412341231212121241234
58
- EDN.read("123412341231212121241234M").should == 123412341231212121241234
59
- end
60
-
61
- it "reads vectors" do
62
- EDN.read('[]').should == []
63
- EDN.read('()').should be_a(Array)
64
- EDN.read('[1]').should == [1]
65
- EDN.read('["hello" 1 2]').should == ['hello', 1, 2]
66
- EDN.read('[[1 [:hi]]]').should == [[1, [:hi]]]
67
- end
68
-
69
- it "reads tagged elements" do
70
- EDN.read('#inst "2012-09-10T16:16:03-04:00"').should == DateTime.rfc3339("2012-09-10T16:16:03-04:00")
71
- EDN.read('#uuid "f81d4fae-7dec-11d0-a765-00a0c91e6bf6"').should == "f81d4fae-7dec-11d0-a765-00a0c91e6bf6"
72
- end
73
-
74
- it "reads lists" do
75
- EDN.read('()').should == []
76
- EDN.read('()').should be_a(EDN::Type::List)
77
- EDN.read('(1)').should == [1]
78
- EDN.read('("hello" 1 2)').should == ['hello', 1, 2]
79
- EDN.read('((1 (:hi)))').should == [[1, [:hi]]]
80
- end
81
-
82
- it "reads maps" do
83
- EDN.read('{}').should == {}
84
- EDN.read('{}').should be_a(Hash)
85
- EDN.read('{:a :b}').should == {:a => :b}
86
- EDN.read('{:a 1, :b 2}').should == {:a => 1, :b => 2}
87
- EDN.read('{:a {:b :c}}').should == {:a => {:b => :c}}
88
- end
89
-
90
- it "reads sets" do
91
- EDN.read('#{}').should == Set.new
92
- EDN.read('#{1}').should == Set[1]
93
- EDN.read('#{1 "abc"}').should == Set[1, "abc"]
94
- EDN.read('#{1 #{:abc}}').should == Set[1, Set[:abc]]
95
- end
96
-
97
59
  it "reads any valid element" do
98
60
  elements = rant(RantlyHelpers::ELEMENT)
99
61
  elements.each do |element|
@@ -109,20 +71,6 @@ describe EDN do
109
71
  end
110
72
  end
111
73
  end
112
-
113
- context "allows symbols starting with a reserved word" do
114
- it "reads true-foo" do
115
- EDN.read('true-foo').should == EDN::Type::Symbol.new('true-foo')
116
- end
117
-
118
- it "reads falsey" do
119
- EDN.read('falsey').should == EDN::Type::Symbol.new('falsey')
120
- end
121
-
122
- it "reads nillable" do
123
- EDN.read('nillable').should == EDN::Type::Symbol.new('nillable')
124
- end
125
- end
126
74
  end
127
75
 
128
76
  context "#register" do
@@ -0,0 +1 @@
1
+ 123412341231212121241234M
@@ -0,0 +1 @@
1
+ 123412341231212121241234
@@ -0,0 +1 @@
1
+ 123412341231212121241234
@@ -0,0 +1 @@
1
+ 123412341231212121241234
@@ -0,0 +1 @@
1
+ \c
@@ -0,0 +1 @@
1
+ "c"
@@ -0,0 +1 @@
1
+ ""
@@ -0,0 +1 @@
1
+ ""
@@ -0,0 +1 @@
1
+ false
@@ -0,0 +1 @@
1
+ false
@@ -0,0 +1 @@
1
+ 3.14
@@ -0,0 +1 @@
1
+ 3.14
@@ -0,0 +1 @@
1
+ 3e-10
@@ -0,0 +1 @@
1
+ 3.0e-10
@@ -0,0 +1 @@
1
+ 3.e-10
@@ -0,0 +1 @@
1
+ 3.0e-10
@@ -0,0 +1 @@
1
+ 3e+10
@@ -0,0 +1 @@
1
+ 3.0e10
@@ -0,0 +1 @@
1
+ 3.0e+10
@@ -0,0 +1 @@
1
+ 3.0e10
@@ -0,0 +1 @@
1
+ 3.0e10
@@ -0,0 +1 @@
1
+ 3.0e10
@@ -0,0 +1 @@
1
+ >
@@ -0,0 +1 @@
1
+ EDN::Type::Symbol.new('>')
@@ -0,0 +1 @@
1
+ 1
@@ -0,0 +1 @@
1
+ 1
@@ -0,0 +1 @@
1
+ :hello
@@ -0,0 +1 @@
1
+ :hello
@@ -0,0 +1 @@
1
+ :hello/world
@@ -0,0 +1 @@
1
+ :"hello/world"
@@ -0,0 +1 @@
1
+ ()
@@ -0,0 +1 @@
1
+ []
@@ -0,0 +1 @@
1
+ ("hello" 1 2)
@@ -0,0 +1 @@
1
+ ['hello', 1, 2]
@@ -0,0 +1 @@
1
+ ((1 (:hi)))
@@ -0,0 +1 @@
1
+ [[1, [:hi]]]
@@ -0,0 +1 @@
1
+ {}
@@ -0,0 +1 @@
1
+ ({})
@@ -0,0 +1 @@
1
+ {:a {:b :c}}
@@ -0,0 +1 @@
1
+ ({:a => {:b => :c}})
@@ -0,0 +1 @@
1
+ {:a :b}
@@ -0,0 +1 @@
1
+ ({:a => :b})
@@ -0,0 +1 @@
1
+ {:a 1, :b 2}
@@ -0,0 +1 @@
1
+ ({:a => 1, :b => 2})
@@ -0,0 +1,4 @@
1
+ #!/bin/sh
2
+
3
+ mv $1.edn $2.edn
4
+ mv $1.rb $2.rb
@@ -0,0 +1 @@
1
+ nil
@@ -0,0 +1 @@
1
+ nil
@@ -0,0 +1 @@
1
+ #{}
@@ -0,0 +1 @@
1
+ Set.new
@@ -0,0 +1 @@
1
+ #{1 #{:abc}}
@@ -0,0 +1 @@
1
+ Set[1, Set[:abc]]
@@ -0,0 +1 @@
1
+ #{1}
@@ -0,0 +1 @@
1
+ Set[1]
@@ -0,0 +1 @@
1
+ #{1 "abc"}
@@ -0,0 +1 @@
1
+ Set[1, "abc"]
@@ -0,0 +1 @@
1
+ #_123 4
@@ -0,0 +1 @@
1
+ 4
@@ -0,0 +1 @@
1
+ #_ 123 4
@@ -0,0 +1 @@
1
+ [#_ "hello" 1 2]
@@ -0,0 +1 @@
1
+ [#_64 1 #_ 65]
@@ -0,0 +1 @@
1
+ [#_1 #_"hello"]
@@ -0,0 +1 @@
1
+ #_ 123 4
@@ -0,0 +1 @@
1
+ #_ 123 74
@@ -0,0 +1 @@
1
+ EDN::Type::Symbol.new('<')
@@ -0,0 +1 @@
1
+ "hello\nworld"
@@ -0,0 +1 @@
1
+ "hello\nworld"
@@ -0,0 +1 @@
1
+ whatever
@@ -0,0 +1 @@
1
+ EDN::Type::Symbol.new('whatever')
@@ -0,0 +1 @@
1
+ EDN::Type::Symbol.new('falsey')
@@ -0,0 +1 @@
1
+ EDN::Type::Symbol.new('nillable')
@@ -0,0 +1 @@
1
+ true-foo
@@ -0,0 +1 @@
1
+ EDN::Type::Symbol.new('true-foo')
@@ -0,0 +1 @@
1
+ hello/world
@@ -0,0 +1 @@
1
+ EDN::Type::Symbol.new('hello/world')
@@ -0,0 +1 @@
1
+ #inst "2012-09-10T16:16:03-04:00"
@@ -0,0 +1 @@
1
+ DateTime.rfc3339("2012-09-10T16:16:03-04:00")
@@ -0,0 +1 @@
1
+ #uuid "f81d4fae-7dec-11d0-a765-00a0c91e6bf6"
@@ -0,0 +1 @@
1
+ "f81d4fae-7dec-11d0-a765-00a0c91e6bf6"
@@ -0,0 +1 @@
1
+ true
@@ -0,0 +1 @@
1
+ true
@@ -0,0 +1 @@
1
+ "øhi utf8"
@@ -0,0 +1 @@
1
+ "øhi utf8"
@@ -0,0 +1 @@
1
+ []
@@ -0,0 +1 @@
1
+ []
@@ -0,0 +1 @@
1
+ ["hello" 1 2]
@@ -0,0 +1 @@
1
+ ['hello', 1, 2]
@@ -0,0 +1 @@
1
+ [[1 [:hi]]]
@@ -0,0 +1 @@
1
+ [[1, [:hi]]]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: edn
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.6
4
+ version: 1.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Clinton N. Dreisbach & Russ Olsen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-26 00:00:00.000000000 Z
11
+ date: 2015-05-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pry
@@ -98,6 +98,117 @@ files:
98
98
  - spec/edn/parser_spec.rb
99
99
  - spec/edn/reader_spec.rb
100
100
  - spec/edn_spec.rb
101
+ - spec/exemplars/big_decimal.edn
102
+ - spec/exemplars/big_decimal.rb
103
+ - spec/exemplars/big_int.edn
104
+ - spec/exemplars/big_int.rb
105
+ - spec/exemplars/char.edn
106
+ - spec/exemplars/char.rb
107
+ - spec/exemplars/empty_string.edn
108
+ - spec/exemplars/empty_string.rb
109
+ - spec/exemplars/false.edn
110
+ - spec/exemplars/false.rb
111
+ - spec/exemplars/float.edn
112
+ - spec/exemplars/float.rb
113
+ - spec/exemplars/float_neg_exp.edn
114
+ - spec/exemplars/float_neg_exp.rb
115
+ - spec/exemplars/float_point_dec_neg_exp.edn
116
+ - spec/exemplars/float_point_dec_neg_exp.rb
117
+ - spec/exemplars/float_point_plus_exp.edn
118
+ - spec/exemplars/float_point_plus_exp.rb
119
+ - spec/exemplars/float_pointneg_exp.edn
120
+ - spec/exemplars/float_pointneg_exp.rb
121
+ - spec/exemplars/float_pos_exp.edn
122
+ - spec/exemplars/float_pos_exp.rb
123
+ - spec/exemplars/float_sign_exp.edn
124
+ - spec/exemplars/float_sign_exp.rb
125
+ - spec/exemplars/float_with_exp.edn
126
+ - spec/exemplars/float_with_exp.rb
127
+ - spec/exemplars/float_with_exp_no_dec.edn
128
+ - spec/exemplars/float_with_exp_no_dec.rb
129
+ - spec/exemplars/gt_symbol.edn
130
+ - spec/exemplars/gt_symbol.rb
131
+ - spec/exemplars/integer.edn
132
+ - spec/exemplars/integer.rb
133
+ - spec/exemplars/keyword.edn
134
+ - spec/exemplars/keyword.rb
135
+ - spec/exemplars/keyword_with_namespace.edn
136
+ - spec/exemplars/keyword_with_namespace.rb
137
+ - spec/exemplars/list_empty.edn
138
+ - spec/exemplars/list_empty.rb
139
+ - spec/exemplars/list_mixed.edn
140
+ - spec/exemplars/list_mixed.rb
141
+ - spec/exemplars/list_nested.edn
142
+ - spec/exemplars/list_nested.rb
143
+ - spec/exemplars/list_one_element.edn
144
+ - spec/exemplars/list_one_element.rb
145
+ - spec/exemplars/map_empty.edn
146
+ - spec/exemplars/map_empty.rb
147
+ - spec/exemplars/map_nested.edn
148
+ - spec/exemplars/map_nested.rb
149
+ - spec/exemplars/map_one_element.edn
150
+ - spec/exemplars/map_one_element.rb
151
+ - spec/exemplars/map_two_entry.edn
152
+ - spec/exemplars/map_two_entry.rb
153
+ - spec/exemplars/mmv
154
+ - spec/exemplars/nil.edn
155
+ - spec/exemplars/nil.rb
156
+ - spec/exemplars/set_empty.edn
157
+ - spec/exemplars/set_empty.rb
158
+ - spec/exemplars/set_nested.edn
159
+ - spec/exemplars/set_nested.rb
160
+ - spec/exemplars/set_one_element.edn
161
+ - spec/exemplars/set_one_element.rb
162
+ - spec/exemplars/set_two_elements.edn
163
+ - spec/exemplars/set_two_elements.rb
164
+ - spec/exemplars/simple_skip.edn
165
+ - spec/exemplars/simple_skip.rb
166
+ - spec/exemplars/skip_more_space.edn
167
+ - spec/exemplars/skip_more_space.rb
168
+ - spec/exemplars/skip_more_vector_elements.edn
169
+ - spec/exemplars/skip_more_vector_elements.rb
170
+ - spec/exemplars/skip_some_vector_elements.edn
171
+ - spec/exemplars/skip_some_vector_elements.rb
172
+ - spec/exemplars/skip_two_vector_elements.edn
173
+ - spec/exemplars/skip_two_vector_elements.rb
174
+ - spec/exemplars/skip_vector_element.edn
175
+ - spec/exemplars/skip_vector_element.rb
176
+ - spec/exemplars/skip_with_spaces.edn
177
+ - spec/exemplars/skip_with_spaces.rb
178
+ - spec/exemplars/skip_yet_more_space.edn
179
+ - spec/exemplars/skip_yet_more_space.rb
180
+ - spec/exemplars/special_symbol.edn
181
+ - spec/exemplars/special_symbol.rb
182
+ - spec/exemplars/string_with_newline.edn
183
+ - spec/exemplars/string_with_newline.rb
184
+ - spec/exemplars/symbol.edn
185
+ - spec/exemplars/symbol.rb
186
+ - spec/exemplars/symbol_begins_with_false.edn
187
+ - spec/exemplars/symbol_begins_with_false.rb
188
+ - spec/exemplars/symbol_begins_with_nil.edn
189
+ - spec/exemplars/symbol_begins_with_nil.rb
190
+ - spec/exemplars/symbol_with_dash.edn
191
+ - spec/exemplars/symbol_with_dash.rb
192
+ - spec/exemplars/symbol_with_namespace.edn
193
+ - spec/exemplars/symbol_with_namespace.rb
194
+ - spec/exemplars/tagged_instant.edn
195
+ - spec/exemplars/tagged_instant.rb
196
+ - spec/exemplars/tagged_uuid.edn
197
+ - spec/exemplars/tagged_uuid.rb
198
+ - spec/exemplars/true.edn
199
+ - spec/exemplars/true.rb
200
+ - spec/exemplars/utf8.edn
201
+ - spec/exemplars/utf8.rb
202
+ - spec/exemplars/vector_empty.edn
203
+ - spec/exemplars/vector_empty.rb
204
+ - spec/exemplars/vector_mixed.edn
205
+ - spec/exemplars/vector_mixed.rb
206
+ - spec/exemplars/vector_nested.edn
207
+ - spec/exemplars/vector_nested.rb
208
+ - spec/exemplars/vector_one_element.edn
209
+ - spec/exemplars/vector_one_element.rb
210
+ - spec/exemplars/whole_number_with_exp.edn
211
+ - spec/exemplars/whole_number_with_exp.rb
101
212
  - spec/spec_helper.rb
102
213
  homepage: https://github.com/relevance/edn-ruby
103
214
  licenses:
@@ -129,4 +240,115 @@ test_files:
129
240
  - spec/edn/parser_spec.rb
130
241
  - spec/edn/reader_spec.rb
131
242
  - spec/edn_spec.rb
243
+ - spec/exemplars/big_decimal.edn
244
+ - spec/exemplars/big_decimal.rb
245
+ - spec/exemplars/big_int.edn
246
+ - spec/exemplars/big_int.rb
247
+ - spec/exemplars/char.edn
248
+ - spec/exemplars/char.rb
249
+ - spec/exemplars/empty_string.edn
250
+ - spec/exemplars/empty_string.rb
251
+ - spec/exemplars/false.edn
252
+ - spec/exemplars/false.rb
253
+ - spec/exemplars/float.edn
254
+ - spec/exemplars/float.rb
255
+ - spec/exemplars/float_neg_exp.edn
256
+ - spec/exemplars/float_neg_exp.rb
257
+ - spec/exemplars/float_point_dec_neg_exp.edn
258
+ - spec/exemplars/float_point_dec_neg_exp.rb
259
+ - spec/exemplars/float_point_plus_exp.edn
260
+ - spec/exemplars/float_point_plus_exp.rb
261
+ - spec/exemplars/float_pointneg_exp.edn
262
+ - spec/exemplars/float_pointneg_exp.rb
263
+ - spec/exemplars/float_pos_exp.edn
264
+ - spec/exemplars/float_pos_exp.rb
265
+ - spec/exemplars/float_sign_exp.edn
266
+ - spec/exemplars/float_sign_exp.rb
267
+ - spec/exemplars/float_with_exp.edn
268
+ - spec/exemplars/float_with_exp.rb
269
+ - spec/exemplars/float_with_exp_no_dec.edn
270
+ - spec/exemplars/float_with_exp_no_dec.rb
271
+ - spec/exemplars/gt_symbol.edn
272
+ - spec/exemplars/gt_symbol.rb
273
+ - spec/exemplars/integer.edn
274
+ - spec/exemplars/integer.rb
275
+ - spec/exemplars/keyword.edn
276
+ - spec/exemplars/keyword.rb
277
+ - spec/exemplars/keyword_with_namespace.edn
278
+ - spec/exemplars/keyword_with_namespace.rb
279
+ - spec/exemplars/list_empty.edn
280
+ - spec/exemplars/list_empty.rb
281
+ - spec/exemplars/list_mixed.edn
282
+ - spec/exemplars/list_mixed.rb
283
+ - spec/exemplars/list_nested.edn
284
+ - spec/exemplars/list_nested.rb
285
+ - spec/exemplars/list_one_element.edn
286
+ - spec/exemplars/list_one_element.rb
287
+ - spec/exemplars/map_empty.edn
288
+ - spec/exemplars/map_empty.rb
289
+ - spec/exemplars/map_nested.edn
290
+ - spec/exemplars/map_nested.rb
291
+ - spec/exemplars/map_one_element.edn
292
+ - spec/exemplars/map_one_element.rb
293
+ - spec/exemplars/map_two_entry.edn
294
+ - spec/exemplars/map_two_entry.rb
295
+ - spec/exemplars/mmv
296
+ - spec/exemplars/nil.edn
297
+ - spec/exemplars/nil.rb
298
+ - spec/exemplars/set_empty.edn
299
+ - spec/exemplars/set_empty.rb
300
+ - spec/exemplars/set_nested.edn
301
+ - spec/exemplars/set_nested.rb
302
+ - spec/exemplars/set_one_element.edn
303
+ - spec/exemplars/set_one_element.rb
304
+ - spec/exemplars/set_two_elements.edn
305
+ - spec/exemplars/set_two_elements.rb
306
+ - spec/exemplars/simple_skip.edn
307
+ - spec/exemplars/simple_skip.rb
308
+ - spec/exemplars/skip_more_space.edn
309
+ - spec/exemplars/skip_more_space.rb
310
+ - spec/exemplars/skip_more_vector_elements.edn
311
+ - spec/exemplars/skip_more_vector_elements.rb
312
+ - spec/exemplars/skip_some_vector_elements.edn
313
+ - spec/exemplars/skip_some_vector_elements.rb
314
+ - spec/exemplars/skip_two_vector_elements.edn
315
+ - spec/exemplars/skip_two_vector_elements.rb
316
+ - spec/exemplars/skip_vector_element.edn
317
+ - spec/exemplars/skip_vector_element.rb
318
+ - spec/exemplars/skip_with_spaces.edn
319
+ - spec/exemplars/skip_with_spaces.rb
320
+ - spec/exemplars/skip_yet_more_space.edn
321
+ - spec/exemplars/skip_yet_more_space.rb
322
+ - spec/exemplars/special_symbol.edn
323
+ - spec/exemplars/special_symbol.rb
324
+ - spec/exemplars/string_with_newline.edn
325
+ - spec/exemplars/string_with_newline.rb
326
+ - spec/exemplars/symbol.edn
327
+ - spec/exemplars/symbol.rb
328
+ - spec/exemplars/symbol_begins_with_false.edn
329
+ - spec/exemplars/symbol_begins_with_false.rb
330
+ - spec/exemplars/symbol_begins_with_nil.edn
331
+ - spec/exemplars/symbol_begins_with_nil.rb
332
+ - spec/exemplars/symbol_with_dash.edn
333
+ - spec/exemplars/symbol_with_dash.rb
334
+ - spec/exemplars/symbol_with_namespace.edn
335
+ - spec/exemplars/symbol_with_namespace.rb
336
+ - spec/exemplars/tagged_instant.edn
337
+ - spec/exemplars/tagged_instant.rb
338
+ - spec/exemplars/tagged_uuid.edn
339
+ - spec/exemplars/tagged_uuid.rb
340
+ - spec/exemplars/true.edn
341
+ - spec/exemplars/true.rb
342
+ - spec/exemplars/utf8.edn
343
+ - spec/exemplars/utf8.rb
344
+ - spec/exemplars/vector_empty.edn
345
+ - spec/exemplars/vector_empty.rb
346
+ - spec/exemplars/vector_mixed.edn
347
+ - spec/exemplars/vector_mixed.rb
348
+ - spec/exemplars/vector_nested.edn
349
+ - spec/exemplars/vector_nested.rb
350
+ - spec/exemplars/vector_one_element.edn
351
+ - spec/exemplars/vector_one_element.rb
352
+ - spec/exemplars/whole_number_with_exp.edn
353
+ - spec/exemplars/whole_number_with_exp.rb
132
354
  - spec/spec_helper.rb