bson 4.8.2 → 4.9.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (95) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/README.md +18 -6
  5. data/ext/bson/bson-endian.h +1 -1
  6. data/ext/bson/bson-native.h +1 -1
  7. data/ext/bson/bytebuf.c +1 -1
  8. data/ext/bson/endian.c +1 -1
  9. data/ext/bson/init.c +24 -22
  10. data/ext/bson/read.c +67 -19
  11. data/ext/bson/util.c +1 -1
  12. data/ext/bson/write.c +11 -4
  13. data/lib/bson.rb +1 -1
  14. data/lib/bson/active_support.rb +1 -1
  15. data/lib/bson/array.rb +10 -2
  16. data/lib/bson/binary.rb +1 -1
  17. data/lib/bson/boolean.rb +9 -2
  18. data/lib/bson/code.rb +1 -1
  19. data/lib/bson/code_with_scope.rb +9 -2
  20. data/lib/bson/config.rb +1 -1
  21. data/lib/bson/date.rb +1 -1
  22. data/lib/bson/date_time.rb +1 -1
  23. data/lib/bson/decimal128.rb +1 -1
  24. data/lib/bson/decimal128/builder.rb +1 -1
  25. data/lib/bson/document.rb +1 -1
  26. data/lib/bson/environment.rb +2 -1
  27. data/lib/bson/error.rb +10 -0
  28. data/lib/bson/ext_json.rb +1 -1
  29. data/lib/bson/false_class.rb +1 -1
  30. data/lib/bson/float.rb +1 -1
  31. data/lib/bson/hash.rb +10 -2
  32. data/lib/bson/int32.rb +1 -1
  33. data/lib/bson/int64.rb +1 -1
  34. data/lib/bson/integer.rb +1 -1
  35. data/lib/bson/json.rb +1 -1
  36. data/lib/bson/max_key.rb +1 -1
  37. data/lib/bson/min_key.rb +1 -1
  38. data/lib/bson/nil_class.rb +1 -1
  39. data/lib/bson/object.rb +1 -1
  40. data/lib/bson/object_id.rb +1 -1
  41. data/lib/bson/open_struct.rb +1 -1
  42. data/lib/bson/regexp.rb +8 -2
  43. data/lib/bson/registry.rb +1 -1
  44. data/lib/bson/specialized.rb +1 -1
  45. data/lib/bson/string.rb +1 -1
  46. data/lib/bson/symbol.rb +1 -1
  47. data/lib/bson/time.rb +1 -1
  48. data/lib/bson/time_with_zone.rb +1 -1
  49. data/lib/bson/timestamp.rb +1 -1
  50. data/lib/bson/true_class.rb +1 -1
  51. data/lib/bson/undefined.rb +1 -1
  52. data/lib/bson/version.rb +2 -2
  53. data/spec/bson/array_spec.rb +18 -1
  54. data/spec/bson/binary_spec.rb +1 -1
  55. data/spec/bson/binary_uuid_spec.rb +1 -1
  56. data/spec/bson/boolean_spec.rb +1 -1
  57. data/spec/bson/code_spec.rb +1 -1
  58. data/spec/bson/code_with_scope_spec.rb +1 -1
  59. data/spec/bson/date_spec.rb +1 -1
  60. data/spec/bson/date_time_spec.rb +1 -1
  61. data/spec/bson/decimal128_spec.rb +1 -1
  62. data/spec/bson/document_spec.rb +1 -1
  63. data/spec/bson/false_class_spec.rb +1 -1
  64. data/spec/bson/float_spec.rb +1 -1
  65. data/spec/bson/hash_spec.rb +18 -1
  66. data/spec/bson/int32_spec.rb +1 -1
  67. data/spec/bson/int64_spec.rb +1 -1
  68. data/spec/bson/integer_spec.rb +1 -1
  69. data/spec/bson/json_spec.rb +1 -1
  70. data/spec/bson/max_key_spec.rb +1 -1
  71. data/spec/bson/min_key_spec.rb +1 -1
  72. data/spec/bson/nil_class_spec.rb +1 -1
  73. data/spec/bson/object_id_spec.rb +1 -1
  74. data/spec/bson/object_spec.rb +1 -1
  75. data/spec/bson/open_struct_spec.rb +1 -1
  76. data/spec/bson/raw_spec.rb +12 -1
  77. data/spec/bson/regexp_spec.rb +1 -1
  78. data/spec/bson/registry_spec.rb +1 -1
  79. data/spec/bson/string_spec.rb +1 -1
  80. data/spec/bson/symbol_spec.rb +1 -1
  81. data/spec/bson/time_spec.rb +1 -1
  82. data/spec/bson/time_with_zone_spec.rb +1 -1
  83. data/spec/bson/timestamp_spec.rb +1 -1
  84. data/spec/bson/true_class_spec.rb +1 -1
  85. data/spec/bson/undefined_spec.rb +1 -1
  86. data/spec/bson_spec.rb +1 -1
  87. data/spec/runners/common_driver.rb +1 -1
  88. data/spec/runners/corpus.rb +13 -10
  89. data/spec/runners/corpus_legacy.rb +1 -1
  90. data/spec/spec_helper.rb +12 -1
  91. data/spec/spec_tests/data/corpus/top.json +0 -4
  92. data/spec/support/shared_examples.rb +1 -1
  93. data/spec/support/spec_config.rb +6 -0
  94. metadata +94 -95
  95. metadata.gz.sig +0 -0
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2009-2019 MongoDB Inc.
1
+ # Copyright (C) 2009-2020 MongoDB Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -132,6 +132,23 @@ describe Array do
132
132
  end
133
133
  end
134
134
  end
135
+
136
+ context 'when array contains value of an unserializable class' do
137
+ class ArraySpecUnserializableClass
138
+ end
139
+
140
+ let(:obj) do
141
+ [ArraySpecUnserializableClass.new]
142
+ end
143
+
144
+ it 'raises UnserializableClass' do
145
+ lambda do
146
+ obj.to_bson
147
+ end.should raise_error(BSON::Error::UnserializableClass,
148
+ # C extension does not provide element position in the exception message.
149
+ /(Array element at position 0|Value) does not define its BSON serialized type:.*ArraySpecUnserializableClass/)
150
+ end
151
+ end
135
152
  end
136
153
 
137
154
  describe "#to_bson_normalized_value" do
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2009-2019 MongoDB Inc.
1
+ # Copyright (C) 2009-2020 MongoDB Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2019 MongoDB Inc.
1
+ # Copyright (C) 2019-2020 MongoDB Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2009-2019 MongoDB Inc.
1
+ # Copyright (C) 2009-2020 MongoDB Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2009-2019 MongoDB Inc.
1
+ # Copyright (C) 2009-2020 MongoDB Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2009-2019 MongoDB Inc.
1
+ # Copyright (C) 2009-2020 MongoDB Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2009-2019 MongoDB Inc.
1
+ # Copyright (C) 2009-2020 MongoDB Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2009-2019 MongoDB Inc.
1
+ # Copyright (C) 2009-2020 MongoDB Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2016-2019 MongoDB Inc.
1
+ # Copyright (C) 2016-2020 MongoDB Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
- # Copyright (C) 2009-2019 MongoDB Inc.
3
+ # Copyright (C) 2009-2020 MongoDB Inc.
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2009-2019 MongoDB Inc.
1
+ # Copyright (C) 2009-2020 MongoDB Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2009-2019 MongoDB Inc.
1
+ # Copyright (C) 2009-2020 MongoDB Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2009-2019 MongoDB Inc.
1
+ # Copyright (C) 2009-2020 MongoDB Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -227,6 +227,23 @@ describe Hash do
227
227
  end
228
228
  end
229
229
  end
230
+
231
+ context 'when hash contains value of an unserializable class' do
232
+ class HashSpecUnserializableClass
233
+ end
234
+
235
+ let(:obj) do
236
+ {foo: HashSpecUnserializableClass.new}
237
+ end
238
+
239
+ it 'raises UnserializableClass' do
240
+ lambda do
241
+ obj.to_bson
242
+ end.should raise_error(BSON::Error::UnserializableClass,
243
+ # C extension does not provide hash key in the exception message.
244
+ /(Hash value for key 'foo'|Value) does not define its BSON serialized type:.*HashSpecUnserializableClass/)
245
+ end
246
+ end
230
247
  end
231
248
 
232
249
  describe '#to_bson' do
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2009-2019 MongoDB Inc.
1
+ # Copyright (C) 2009-2020 MongoDB Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2009-2019 MongoDB Inc.
1
+ # Copyright (C) 2009-2020 MongoDB Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2009-2019 MongoDB Inc.
1
+ # Copyright (C) 2009-2020 MongoDB Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2009-2019 MongoDB Inc.
1
+ # Copyright (C) 2009-2020 MongoDB Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2009-2019 MongoDB Inc.
1
+ # Copyright (C) 2009-2020 MongoDB Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2009-2019 MongoDB Inc.
1
+ # Copyright (C) 2009-2020 MongoDB Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2009-2019 MongoDB Inc.
1
+ # Copyright (C) 2009-2020 MongoDB Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2009-2019 MongoDB Inc.
1
+ # Copyright (C) 2009-2020 MongoDB Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2009-2019 MongoDB Inc.
1
+ # Copyright (C) 2009-2020 MongoDB Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2016-2019 MongoDB Inc.
1
+ # Copyright (C) 2016-2020 MongoDB Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -580,4 +580,15 @@ describe Regexp::Raw do
580
580
  end
581
581
  end
582
582
  end
583
- end
583
+
584
+ describe 'yaml loading' do
585
+ let(:regexp) { described_class.new('hello.world', 's') }
586
+
587
+ it 'round-trips' do
588
+ actual = YAML.load(regexp.to_yaml)
589
+ actual.pattern.should == 'hello.world'
590
+ actual.options.should == 's'
591
+ actual.compile.should =~ "hello\nworld"
592
+ end
593
+ end
594
+ end
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2009-2019 MongoDB Inc.
1
+ # Copyright (C) 2009-2020 MongoDB Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2009-2019 MongoDB Inc.
1
+ # Copyright (C) 2009-2020 MongoDB Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
- # Copyright (C) 2009-2019 MongoDB Inc.
3
+ # Copyright (C) 2009-2020 MongoDB Inc.
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2009-2019 MongoDB Inc.
1
+ # Copyright (C) 2009-2020 MongoDB Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2009-2019 MongoDB Inc.
1
+ # Copyright (C) 2009-2020 MongoDB Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2018-2019 MongoDB Inc.
1
+ # Copyright (C) 2018-2020 MongoDB Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2009-2019 MongoDB Inc.
1
+ # Copyright (C) 2009-2020 MongoDB Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2009-2019 MongoDB Inc.
1
+ # Copyright (C) 2009-2020 MongoDB Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2009-2019 MongoDB Inc.
1
+ # Copyright (C) 2009-2020 MongoDB Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2009-2019 MongoDB Inc.
1
+ # Copyright (C) 2009-2020 MongoDB Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2016-2019 MongoDB, Inc.
1
+ # Copyright (C) 2016-2020 MongoDB Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2016-2019 MongoDB, Inc.
1
+ # Copyright (C) 2016-2020 MongoDB Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -91,10 +91,19 @@ module BSON
91
91
  end
92
92
  end
93
93
 
94
+ class TestBase
95
+
96
+ private
97
+
98
+ def decode_hex(obj)
99
+ [ obj ].pack('H*')
100
+ end
101
+ end
102
+
94
103
  # Represents a single BSON Corpus test.
95
104
  #
96
105
  # @since 4.2.0
97
- class ValidTest
106
+ class ValidTest < TestBase
98
107
  extend Forwardable
99
108
 
100
109
  # Instantiate the new Test.
@@ -151,19 +160,13 @@ module BSON
151
160
  def relaxed_extjson_doc
152
161
  relaxed_extjson && ::JSON.parse(relaxed_extjson)
153
162
  end
154
-
155
- private
156
-
157
- def decode_hex(obj)
158
- [ obj ].pack('H*')
159
- end
160
163
  end
161
164
 
162
- class DecodeErrorTest
165
+ class DecodeErrorTest < TestBase
163
166
  def initialize(spec, test_params)
164
167
  @spec = spec
165
168
  @description = test_params['description']
166
- @bson = test_params['bson']
169
+ @bson = decode_hex(test_params['bson'])
167
170
  end
168
171
 
169
172
  attr_reader :description, :bson
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2016-2019 MongoDB, Inc.
1
+ # Copyright (C) 2016-2020 MongoDB Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2009-2019 MongoDB Inc.
1
+ # Copyright (C) 2009-2020 MongoDB Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -60,4 +60,15 @@ RSpec.configure do |config|
60
60
  config.expect_with :rspec do |c|
61
61
  c.syntax = [:should, :expect]
62
62
  end
63
+
64
+ # To ensure that calling GC.compact does not produce unexpected behavior,
65
+ # randomly call GC.compact after a small percentage of tests in the suite.
66
+ # This behavior is only enabled when the COMPACT environment variable is true.
67
+ if SpecConfig.instance.compact?
68
+ config.after do
69
+ if rand < SpecConfig::COMPACTION_CHANCE
70
+ GC.compact
71
+ end
72
+ end
73
+ end
63
74
  end
@@ -41,10 +41,6 @@
41
41
  "description": "Stated length exceeds byte count, with truncated document",
42
42
  "bson": "1200000002666F6F0004000000626172"
43
43
  },
44
- {
45
- "description": "Stated length less than byte count, with garbage after envelope",
46
- "bson": "1200000002666F6F00040000006261720000DEADBEEF"
47
- },
48
44
  {
49
45
  "description": "Stated length exceeds byte count, with valid envelope",
50
46
  "bson": "1300000002666F6F00040000006261720000"
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2009-2019 MongoDB Inc.
1
+ # Copyright (C) 2009-2020 MongoDB Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -3,7 +3,13 @@ require 'singleton'
3
3
  class SpecConfig
4
4
  include Singleton
5
5
 
6
+ COMPACTION_CHANCE = 0.001
7
+
6
8
  def active_support?
7
9
  %w(1 true yes).include?(ENV['WITH_ACTIVE_SUPPORT'])
8
10
  end
11
+
12
+ def compact?
13
+ %w(1 true yes).include?(ENV['COMPACT'])
14
+ end
9
15
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bson
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.8.2
4
+ version: 4.9.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tyler Brock
@@ -33,11 +33,10 @@ cert_chain:
33
33
  gpvfPNWMwyBDlHaNS3GfO6cRRxBOvEG05GUCsvtTY4Bpe8yjE64wg1ymb47LMOnv
34
34
  Qb1lGORmf/opg45mluKUYl7pQNZHD0d3
35
35
  -----END CERTIFICATE-----
36
- date: 2020-03-04 00:00:00.000000000 Z
36
+ date: 2020-06-29 00:00:00.000000000 Z
37
37
  dependencies: []
38
38
  description: A fully featured BSON specification implementation in Ruby
39
- email:
40
- - mongodb-dev@googlegroups.com
39
+ email:
41
40
  executables: []
42
41
  extensions:
43
42
  - ext/bson/extconf.rb
@@ -218,7 +217,6 @@ metadata:
218
217
  changelog_uri: https://github.com/mongodb/bson-ruby/releases
219
218
  documentation_uri: https://docs.mongodb.com/ruby-driver/current/tutorials/bson-v4/
220
219
  homepage_uri: https://docs.mongodb.com/ruby-driver/current/tutorials/bson-v4/
221
- mailing_list_uri: https://groups.google.com/group/mongodb-user
222
220
  source_code_uri: https://github.com/mongodb/bson-ruby
223
221
  post_install_message:
224
222
  rdoc_options: []
@@ -235,118 +233,119 @@ required_rubygems_version: !ruby/object:Gem::Requirement
235
233
  - !ruby/object:Gem::Version
236
234
  version: 1.3.6
237
235
  requirements: []
238
- rubygems_version: 3.1.2
236
+ rubyforge_project:
237
+ rubygems_version: 2.7.6.2
239
238
  signing_key:
240
239
  specification_version: 4
241
240
  summary: Ruby implementation of the BSON specification
242
241
  test_files:
243
- - spec/bson/date_spec.rb
244
- - spec/bson/config_spec.rb
245
- - spec/bson/int64_spec.rb
246
- - spec/bson/undefined_spec.rb
247
- - spec/bson/code_spec.rb
248
- - spec/bson/object_spec.rb
249
- - spec/bson/date_time_spec.rb
250
- - spec/bson/raw_spec.rb
251
- - spec/bson/min_key_spec.rb
252
- - spec/bson/time_with_zone_spec.rb
253
- - spec/bson/time_spec.rb
254
- - spec/bson/hash_spec.rb
255
- - spec/bson/ext_json_parse_spec.rb
256
- - spec/bson/timestamp_spec.rb
257
- - spec/bson/int32_spec.rb
258
- - spec/bson/byte_buffer_spec.rb
259
- - spec/bson/registry_spec.rb
260
- - spec/bson/symbol_raw_spec.rb
261
- - spec/bson/regexp_spec.rb
262
- - spec/bson/byte_buffer_write_spec.rb
263
- - spec/bson/symbol_spec.rb
264
- - spec/bson/string_spec.rb
265
- - spec/bson/boolean_spec.rb
266
- - spec/bson/open_struct_spec.rb
267
- - spec/bson/decimal128_spec.rb
268
- - spec/bson/json_spec.rb
269
- - spec/bson/array_spec.rb
270
- - spec/bson/false_class_spec.rb
271
- - spec/bson/true_class_spec.rb
272
- - spec/bson/binary_spec.rb
273
- - spec/bson/binary_uuid_spec.rb
274
- - spec/bson/object_id_spec.rb
275
- - spec/bson/code_with_scope_spec.rb
276
- - spec/bson/nil_class_spec.rb
277
- - spec/bson/integer_spec.rb
278
- - spec/bson/document_spec.rb
279
- - spec/bson/max_key_spec.rb
280
- - spec/bson/byte_buffer_read_spec.rb
281
- - spec/bson/float_spec.rb
282
- - spec/support/utils.rb
283
- - spec/support/shared_examples.rb
284
- - spec/support/spec_config.rb
285
242
  - spec/spec_helper.rb
286
- - spec/spec_tests/data/decimal128/decimal128-4.json
287
- - spec/spec_tests/data/decimal128/decimal128-2.json
288
- - spec/spec_tests/data/decimal128/decimal128-5.json
289
- - spec/spec_tests/data/decimal128/decimal128-3.json
290
- - spec/spec_tests/data/decimal128/decimal128-6.json
291
- - spec/spec_tests/data/decimal128/decimal128-1.json
292
- - spec/spec_tests/data/decimal128/decimal128-7.json
293
- - spec/spec_tests/data/corpus/multi-type.json
294
- - spec/spec_tests/data/corpus/string.json
295
- - spec/spec_tests/data/corpus/decimal128-4.json
296
- - spec/spec_tests/data/corpus/README.md
297
- - spec/spec_tests/data/corpus/binary.json
298
- - spec/spec_tests/data/corpus/decimal128-2.json
299
- - spec/spec_tests/data/corpus/dbpointer.json
300
- - spec/spec_tests/data/corpus/dbref.json
243
+ - spec/spec_tests/corpus_spec.rb
244
+ - spec/spec_tests/common_driver_spec.rb
245
+ - spec/spec_tests/data/corpus/decimal128-7.json
246
+ - spec/spec_tests/data/corpus/top.json
247
+ - spec/spec_tests/data/corpus/array.json
301
248
  - spec/spec_tests/data/corpus/null.json
302
- - spec/spec_tests/data/corpus/int32.json
249
+ - spec/spec_tests/data/corpus/document.json
250
+ - spec/spec_tests/data/corpus/decimal128-2.json
251
+ - spec/spec_tests/data/corpus/decimal128-6.json
252
+ - spec/spec_tests/data/corpus/boolean.json
253
+ - spec/spec_tests/data/corpus/README.md
303
254
  - spec/spec_tests/data/corpus/maxkey.json
255
+ - spec/spec_tests/data/corpus/binary.json
256
+ - spec/spec_tests/data/corpus/multi-type.json
304
257
  - spec/spec_tests/data/corpus/timestamp.json
305
258
  - spec/spec_tests/data/corpus/multi-type-deprecated.json
306
- - spec/spec_tests/data/corpus/code.json
307
- - spec/spec_tests/data/corpus/document.json
308
- - spec/spec_tests/data/corpus/double.json
309
- - spec/spec_tests/data/corpus/decimal128-5.json
259
+ - spec/spec_tests/data/corpus/dbpointer.json
260
+ - spec/spec_tests/data/corpus/oid.json
310
261
  - spec/spec_tests/data/corpus/regex.json
262
+ - spec/spec_tests/data/corpus/minkey.json
311
263
  - spec/spec_tests/data/corpus/symbol.json
312
- - spec/spec_tests/data/corpus/decimal128-3.json
313
- - spec/spec_tests/data/corpus/decimal128-6.json
314
- - spec/spec_tests/data/corpus/oid.json
315
- - spec/spec_tests/data/corpus/top.json
264
+ - spec/spec_tests/data/corpus/dbref.json
316
265
  - spec/spec_tests/data/corpus/decimal128-1.json
317
- - spec/spec_tests/data/corpus/boolean.json
318
- - spec/spec_tests/data/corpus/decimal128-7.json
319
- - spec/spec_tests/data/corpus/array.json
320
- - spec/spec_tests/data/corpus/code_w_scope.json
321
266
  - spec/spec_tests/data/corpus/undefined.json
322
- - spec/spec_tests/data/corpus/minkey.json
323
- - spec/spec_tests/data/corpus/datetime.json
267
+ - spec/spec_tests/data/corpus/double.json
268
+ - spec/spec_tests/data/corpus/decimal128-4.json
269
+ - spec/spec_tests/data/corpus/decimal128-3.json
270
+ - spec/spec_tests/data/corpus/decimal128-5.json
271
+ - spec/spec_tests/data/corpus/int32.json
272
+ - spec/spec_tests/data/corpus/string.json
273
+ - spec/spec_tests/data/corpus/code.json
274
+ - spec/spec_tests/data/corpus/code_w_scope.json
324
275
  - spec/spec_tests/data/corpus/int64.json
325
- - spec/spec_tests/data/corpus_legacy/string.json
326
- - spec/spec_tests/data/corpus_legacy/binary.json
276
+ - spec/spec_tests/data/corpus/datetime.json
277
+ - spec/spec_tests/data/corpus_legacy/top.json
278
+ - spec/spec_tests/data/corpus_legacy/array.json
327
279
  - spec/spec_tests/data/corpus_legacy/null.json
328
- - spec/spec_tests/data/corpus_legacy/int32.json
280
+ - spec/spec_tests/data/corpus_legacy/document.json
281
+ - spec/spec_tests/data/corpus_legacy/boolean.json
329
282
  - spec/spec_tests/data/corpus_legacy/maxkey.json
283
+ - spec/spec_tests/data/corpus_legacy/binary.json
330
284
  - spec/spec_tests/data/corpus_legacy/timestamp.json
331
285
  - spec/spec_tests/data/corpus_legacy/failures/dbpointer.json
332
286
  - spec/spec_tests/data/corpus_legacy/failures/symbol.json
333
- - spec/spec_tests/data/corpus_legacy/failures/datetime.json
334
287
  - spec/spec_tests/data/corpus_legacy/failures/int64.json
335
- - spec/spec_tests/data/corpus_legacy/code.json
336
- - spec/spec_tests/data/corpus_legacy/document.json
337
- - spec/spec_tests/data/corpus_legacy/double.json
338
- - spec/spec_tests/data/corpus_legacy/regex.json
288
+ - spec/spec_tests/data/corpus_legacy/failures/datetime.json
339
289
  - spec/spec_tests/data/corpus_legacy/oid.json
340
- - spec/spec_tests/data/corpus_legacy/top.json
341
- - spec/spec_tests/data/corpus_legacy/boolean.json
342
- - spec/spec_tests/data/corpus_legacy/array.json
343
- - spec/spec_tests/data/corpus_legacy/code_w_scope.json
344
- - spec/spec_tests/data/corpus_legacy/undefined.json
290
+ - spec/spec_tests/data/corpus_legacy/regex.json
345
291
  - spec/spec_tests/data/corpus_legacy/minkey.json
346
- - spec/spec_tests/common_driver_spec.rb
347
- - spec/spec_tests/corpus_spec.rb
292
+ - spec/spec_tests/data/corpus_legacy/undefined.json
293
+ - spec/spec_tests/data/corpus_legacy/double.json
294
+ - spec/spec_tests/data/corpus_legacy/int32.json
295
+ - spec/spec_tests/data/corpus_legacy/string.json
296
+ - spec/spec_tests/data/corpus_legacy/code.json
297
+ - spec/spec_tests/data/corpus_legacy/code_w_scope.json
298
+ - spec/spec_tests/data/decimal128/decimal128-7.json
299
+ - spec/spec_tests/data/decimal128/decimal128-2.json
300
+ - spec/spec_tests/data/decimal128/decimal128-6.json
301
+ - spec/spec_tests/data/decimal128/decimal128-1.json
302
+ - spec/spec_tests/data/decimal128/decimal128-4.json
303
+ - spec/spec_tests/data/decimal128/decimal128-3.json
304
+ - spec/spec_tests/data/decimal128/decimal128-5.json
348
305
  - spec/spec_tests/corpus_legacy_spec.rb
349
- - spec/bson_spec.rb
350
- - spec/runners/corpus.rb
306
+ - spec/support/utils.rb
307
+ - spec/support/shared_examples.rb
308
+ - spec/support/spec_config.rb
351
309
  - spec/runners/common_driver.rb
352
310
  - spec/runners/corpus_legacy.rb
311
+ - spec/runners/corpus.rb
312
+ - spec/bson/code_spec.rb
313
+ - spec/bson/byte_buffer_read_spec.rb
314
+ - spec/bson/int32_spec.rb
315
+ - spec/bson/max_key_spec.rb
316
+ - spec/bson/time_spec.rb
317
+ - spec/bson/array_spec.rb
318
+ - spec/bson/date_time_spec.rb
319
+ - spec/bson/document_spec.rb
320
+ - spec/bson/float_spec.rb
321
+ - spec/bson/nil_class_spec.rb
322
+ - spec/bson/time_with_zone_spec.rb
323
+ - spec/bson/ext_json_parse_spec.rb
324
+ - spec/bson/string_spec.rb
325
+ - spec/bson/open_struct_spec.rb
326
+ - spec/bson/config_spec.rb
327
+ - spec/bson/false_class_spec.rb
328
+ - spec/bson/raw_spec.rb
329
+ - spec/bson/regexp_spec.rb
330
+ - spec/bson/binary_spec.rb
331
+ - spec/bson/object_spec.rb
332
+ - spec/bson/decimal128_spec.rb
333
+ - spec/bson/binary_uuid_spec.rb
334
+ - spec/bson/boolean_spec.rb
335
+ - spec/bson/byte_buffer_spec.rb
336
+ - spec/bson/json_spec.rb
337
+ - spec/bson/symbol_spec.rb
338
+ - spec/bson/integer_spec.rb
339
+ - spec/bson/byte_buffer_write_spec.rb
340
+ - spec/bson/registry_spec.rb
341
+ - spec/bson/code_with_scope_spec.rb
342
+ - spec/bson/true_class_spec.rb
343
+ - spec/bson/undefined_spec.rb
344
+ - spec/bson/object_id_spec.rb
345
+ - spec/bson/timestamp_spec.rb
346
+ - spec/bson/hash_spec.rb
347
+ - spec/bson/symbol_raw_spec.rb
348
+ - spec/bson/min_key_spec.rb
349
+ - spec/bson/int64_spec.rb
350
+ - spec/bson/date_spec.rb
351
+ - spec/bson_spec.rb