bson 4.8.1 → 4.9.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (97) 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 +1 -1
  13. data/lib/bson.rb +1 -1
  14. data/lib/bson/active_support.rb +1 -1
  15. data/lib/bson/array.rb +14 -3
  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 +16 -3
  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/db_pointer.rb +7 -1
  24. data/lib/bson/decimal128.rb +1 -1
  25. data/lib/bson/decimal128/builder.rb +1 -1
  26. data/lib/bson/document.rb +1 -1
  27. data/lib/bson/environment.rb +2 -1
  28. data/lib/bson/error.rb +4 -0
  29. data/lib/bson/ext_json.rb +3 -3
  30. data/lib/bson/false_class.rb +1 -1
  31. data/lib/bson/float.rb +1 -1
  32. data/lib/bson/hash.rb +7 -2
  33. data/lib/bson/int32.rb +1 -1
  34. data/lib/bson/int64.rb +1 -1
  35. data/lib/bson/integer.rb +1 -1
  36. data/lib/bson/json.rb +1 -1
  37. data/lib/bson/max_key.rb +1 -1
  38. data/lib/bson/min_key.rb +1 -1
  39. data/lib/bson/nil_class.rb +1 -1
  40. data/lib/bson/object.rb +1 -1
  41. data/lib/bson/object_id.rb +1 -1
  42. data/lib/bson/open_struct.rb +1 -1
  43. data/lib/bson/regexp.rb +8 -2
  44. data/lib/bson/registry.rb +1 -1
  45. data/lib/bson/specialized.rb +1 -1
  46. data/lib/bson/string.rb +1 -1
  47. data/lib/bson/symbol.rb +1 -1
  48. data/lib/bson/time.rb +1 -1
  49. data/lib/bson/time_with_zone.rb +1 -1
  50. data/lib/bson/timestamp.rb +1 -1
  51. data/lib/bson/true_class.rb +1 -1
  52. data/lib/bson/undefined.rb +1 -1
  53. data/lib/bson/version.rb +2 -2
  54. data/spec/bson/array_spec.rb +1 -1
  55. data/spec/bson/binary_spec.rb +1 -1
  56. data/spec/bson/binary_uuid_spec.rb +1 -1
  57. data/spec/bson/boolean_spec.rb +1 -1
  58. data/spec/bson/code_spec.rb +1 -1
  59. data/spec/bson/code_with_scope_spec.rb +1 -1
  60. data/spec/bson/date_spec.rb +1 -1
  61. data/spec/bson/date_time_spec.rb +1 -1
  62. data/spec/bson/decimal128_spec.rb +1 -1
  63. data/spec/bson/document_spec.rb +1 -1
  64. data/spec/bson/ext_json_parse_spec.rb +34 -2
  65. data/spec/bson/false_class_spec.rb +1 -1
  66. data/spec/bson/float_spec.rb +1 -1
  67. data/spec/bson/hash_spec.rb +1 -1
  68. data/spec/bson/int32_spec.rb +1 -1
  69. data/spec/bson/int64_spec.rb +1 -1
  70. data/spec/bson/integer_spec.rb +1 -1
  71. data/spec/bson/json_spec.rb +1 -1
  72. data/spec/bson/max_key_spec.rb +1 -1
  73. data/spec/bson/min_key_spec.rb +1 -1
  74. data/spec/bson/nil_class_spec.rb +1 -1
  75. data/spec/bson/object_id_spec.rb +1 -1
  76. data/spec/bson/object_spec.rb +1 -1
  77. data/spec/bson/open_struct_spec.rb +1 -1
  78. data/spec/bson/raw_spec.rb +12 -1
  79. data/spec/bson/regexp_spec.rb +1 -1
  80. data/spec/bson/registry_spec.rb +1 -1
  81. data/spec/bson/string_spec.rb +1 -1
  82. data/spec/bson/symbol_spec.rb +1 -1
  83. data/spec/bson/time_spec.rb +1 -1
  84. data/spec/bson/time_with_zone_spec.rb +1 -1
  85. data/spec/bson/timestamp_spec.rb +1 -1
  86. data/spec/bson/true_class_spec.rb +1 -1
  87. data/spec/bson/undefined_spec.rb +1 -1
  88. data/spec/bson_spec.rb +1 -1
  89. data/spec/runners/common_driver.rb +1 -1
  90. data/spec/runners/corpus.rb +13 -10
  91. data/spec/runners/corpus_legacy.rb +1 -1
  92. data/spec/spec_helper.rb +12 -1
  93. data/spec/spec_tests/data/corpus/top.json +0 -4
  94. data/spec/support/shared_examples.rb +1 -1
  95. data/spec/support/spec_config.rb +6 -0
  96. metadata +92 -94
  97. 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.
@@ -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.
@@ -50,14 +50,46 @@ describe "BSON::ExtJSON.parse" do
50
50
  end
51
51
  end
52
52
 
53
- context 'when input is a timestamp' do
53
+ context 'when input is a BSON timestamp' do
54
54
  let(:input) { {'$timestamp' => {'t' => 12345, 'i' => 42}} }
55
55
 
56
- it 'returns a timestamp object' do
56
+ it 'returns a BSON::Timestamp instance' do
57
57
  parsed.should == BSON::Timestamp.new(12345, 42)
58
58
  end
59
59
  end
60
60
 
61
+ context 'when input is an ISO time' do
62
+ let(:input) { {'$date' => '1970-01-01T00:00:04Z'} }
63
+
64
+ it 'returns a Time instance ' do
65
+ parsed.should be_a(Time)
66
+ end
67
+
68
+ it 'returns a Time instance with correct value' do
69
+ parsed.should == Time.at(4)
70
+ end
71
+
72
+ it 'returns a Time instance in UTC' do
73
+ parsed.zone.should == 'UTC'
74
+ end
75
+ end
76
+
77
+ context 'when input is a Unix timestamp' do
78
+ let(:input) { {'$date' => {'$numberLong' => '4000'}} }
79
+
80
+ it 'returns a Time instance ' do
81
+ parsed.should be_a(Time)
82
+ end
83
+
84
+ it 'returns a Time instance with correct value' do
85
+ parsed.should == Time.at(4)
86
+ end
87
+
88
+ it 'returns a Time instance in UTC' do
89
+ parsed.zone.should == 'UTC'
90
+ end
91
+ end
92
+
61
93
  context 'when input is an int32' do
62
94
  let(:input) do
63
95
  {'$numberInt' => '42'}
@@ -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) 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.1
4
+ version: 4.9.3
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-03 00:00:00.000000000 Z
36
+ date: 2020-06-24 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,118 @@ 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.0.1
236
+ rubygems_version: 3.1.2
239
237
  signing_key:
240
238
  specification_version: 4
241
239
  summary: Ruby implementation of the BSON specification
242
240
  test_files:
243
- - spec/bson/min_key_spec.rb
244
- - spec/bson/undefined_spec.rb
245
241
  - spec/bson/regexp_spec.rb
246
- - spec/bson/decimal128_spec.rb
247
- - spec/bson/code_spec.rb
242
+ - spec/bson/min_key_spec.rb
248
243
  - spec/bson/time_spec.rb
249
- - spec/bson/object_spec.rb
250
- - spec/bson/integer_spec.rb
251
- - spec/bson/string_spec.rb
252
- - spec/bson/byte_buffer_read_spec.rb
244
+ - spec/bson/int32_spec.rb
245
+ - spec/bson/code_spec.rb
253
246
  - spec/bson/config_spec.rb
254
- - spec/bson/json_spec.rb
247
+ - spec/bson/undefined_spec.rb
255
248
  - spec/bson/boolean_spec.rb
256
- - spec/bson/hash_spec.rb
257
- - spec/bson/open_struct_spec.rb
258
- - spec/bson/nil_class_spec.rb
249
+ - spec/bson/object_spec.rb
259
250
  - spec/bson/array_spec.rb
260
- - spec/bson/false_class_spec.rb
261
- - spec/bson/symbol_raw_spec.rb
262
- - spec/bson/binary_uuid_spec.rb
263
- - spec/bson/ext_json_parse_spec.rb
264
- - spec/bson/true_class_spec.rb
251
+ - spec/bson/hash_spec.rb
265
252
  - spec/bson/date_spec.rb
266
- - spec/bson/byte_buffer_write_spec.rb
253
+ - spec/bson/json_spec.rb
254
+ - spec/bson/time_with_zone_spec.rb
267
255
  - spec/bson/int64_spec.rb
268
- - spec/bson/timestamp_spec.rb
269
- - spec/bson/max_key_spec.rb
256
+ - spec/bson/registry_spec.rb
257
+ - spec/bson/binary_uuid_spec.rb
258
+ - spec/bson/byte_buffer_read_spec.rb
270
259
  - spec/bson/raw_spec.rb
260
+ - spec/bson/binary_spec.rb
261
+ - spec/bson/max_key_spec.rb
262
+ - spec/bson/symbol_raw_spec.rb
263
+ - spec/bson/code_with_scope_spec.rb
264
+ - spec/bson/byte_buffer_write_spec.rb
265
+ - spec/bson/date_time_spec.rb
266
+ - spec/bson/false_class_spec.rb
271
267
  - spec/bson/byte_buffer_spec.rb
268
+ - spec/bson/string_spec.rb
269
+ - spec/bson/open_struct_spec.rb
270
+ - spec/bson/timestamp_spec.rb
271
+ - spec/bson/ext_json_parse_spec.rb
272
+ - spec/bson/symbol_spec.rb
273
+ - spec/bson/decimal128_spec.rb
274
+ - spec/bson/integer_spec.rb
272
275
  - spec/bson/document_spec.rb
273
- - spec/bson/code_with_scope_spec.rb
274
276
  - spec/bson/float_spec.rb
275
- - spec/bson/time_with_zone_spec.rb
276
- - spec/bson/binary_spec.rb
277
- - spec/bson/registry_spec.rb
278
- - spec/bson/symbol_spec.rb
279
- - spec/bson/date_time_spec.rb
277
+ - spec/bson/nil_class_spec.rb
278
+ - spec/bson/true_class_spec.rb
280
279
  - spec/bson/object_id_spec.rb
281
- - spec/bson/int32_spec.rb
280
+ - spec/spec_helper.rb
281
+ - spec/bson_spec.rb
282
282
  - spec/support/utils.rb
283
- - spec/support/shared_examples.rb
284
283
  - spec/support/spec_config.rb
285
- - spec/bson_spec.rb
284
+ - spec/support/shared_examples.rb
285
+ - spec/runners/corpus.rb
286
+ - spec/runners/corpus_legacy.rb
287
+ - spec/runners/common_driver.rb
286
288
  - spec/spec_tests/corpus_spec.rb
287
- - spec/spec_tests/corpus_legacy_spec.rb
288
- - spec/spec_tests/data/decimal128/decimal128-6.json
289
- - spec/spec_tests/data/decimal128/decimal128-3.json
290
- - spec/spec_tests/data/decimal128/decimal128-1.json
291
- - spec/spec_tests/data/decimal128/decimal128-4.json
292
- - spec/spec_tests/data/decimal128/decimal128-7.json
293
- - spec/spec_tests/data/decimal128/decimal128-5.json
294
- - spec/spec_tests/data/decimal128/decimal128-2.json
295
- - spec/spec_tests/data/corpus_legacy/code_w_scope.json
296
- - spec/spec_tests/data/corpus_legacy/undefined.json
297
- - spec/spec_tests/data/corpus_legacy/code.json
298
- - spec/spec_tests/data/corpus_legacy/oid.json
299
- - spec/spec_tests/data/corpus_legacy/timestamp.json
300
- - spec/spec_tests/data/corpus_legacy/string.json
301
- - spec/spec_tests/data/corpus_legacy/binary.json
302
- - spec/spec_tests/data/corpus_legacy/null.json
303
- - spec/spec_tests/data/corpus_legacy/int32.json
304
- - spec/spec_tests/data/corpus_legacy/maxkey.json
305
- - spec/spec_tests/data/corpus_legacy/array.json
306
- - spec/spec_tests/data/corpus_legacy/regex.json
307
- - spec/spec_tests/data/corpus_legacy/minkey.json
308
- - spec/spec_tests/data/corpus_legacy/top.json
309
- - spec/spec_tests/data/corpus_legacy/failures/symbol.json
310
- - spec/spec_tests/data/corpus_legacy/failures/int64.json
311
- - spec/spec_tests/data/corpus_legacy/failures/dbpointer.json
312
- - spec/spec_tests/data/corpus_legacy/failures/datetime.json
313
- - spec/spec_tests/data/corpus_legacy/boolean.json
314
- - spec/spec_tests/data/corpus_legacy/double.json
315
- - spec/spec_tests/data/corpus_legacy/document.json
316
- - spec/spec_tests/data/corpus/code_w_scope.json
317
- - spec/spec_tests/data/corpus/undefined.json
318
- - spec/spec_tests/data/corpus/code.json
319
- - spec/spec_tests/data/corpus/decimal128-6.json
320
- - spec/spec_tests/data/corpus/oid.json
321
- - spec/spec_tests/data/corpus/timestamp.json
322
- - spec/spec_tests/data/corpus/decimal128-3.json
323
- - spec/spec_tests/data/corpus/string.json
324
- - spec/spec_tests/data/corpus/binary.json
325
- - spec/spec_tests/data/corpus/null.json
326
- - spec/spec_tests/data/corpus/int32.json
289
+ - spec/spec_tests/common_driver_spec.rb
327
290
  - spec/spec_tests/data/corpus/multi-type.json
328
291
  - spec/spec_tests/data/corpus/decimal128-1.json
329
- - spec/spec_tests/data/corpus/decimal128-4.json
330
- - spec/spec_tests/data/corpus/README.md
292
+ - spec/spec_tests/data/corpus/dbref.json
293
+ - spec/spec_tests/data/corpus/multi-type-deprecated.json
331
294
  - spec/spec_tests/data/corpus/maxkey.json
295
+ - spec/spec_tests/data/corpus/boolean.json
296
+ - spec/spec_tests/data/corpus/datetime.json
297
+ - spec/spec_tests/data/corpus/oid.json
298
+ - spec/spec_tests/data/corpus/code.json
332
299
  - spec/spec_tests/data/corpus/array.json
333
- - spec/spec_tests/data/corpus/regex.json
334
- - spec/spec_tests/data/corpus/dbref.json
335
- - spec/spec_tests/data/corpus/symbol.json
336
- - spec/spec_tests/data/corpus/minkey.json
337
300
  - spec/spec_tests/data/corpus/decimal128-7.json
338
- - spec/spec_tests/data/corpus/top.json
339
- - spec/spec_tests/data/corpus/decimal128-5.json
340
- - spec/spec_tests/data/corpus/boolean.json
341
- - spec/spec_tests/data/corpus/int64.json
342
- - spec/spec_tests/data/corpus/decimal128-2.json
343
- - spec/spec_tests/data/corpus/dbpointer.json
301
+ - spec/spec_tests/data/corpus/symbol.json
344
302
  - spec/spec_tests/data/corpus/double.json
345
- - spec/spec_tests/data/corpus/multi-type-deprecated.json
303
+ - spec/spec_tests/data/corpus/decimal128-6.json
304
+ - spec/spec_tests/data/corpus/code_w_scope.json
305
+ - spec/spec_tests/data/corpus/int64.json
306
+ - spec/spec_tests/data/corpus/README.md
307
+ - spec/spec_tests/data/corpus/string.json
346
308
  - spec/spec_tests/data/corpus/document.json
347
- - spec/spec_tests/data/corpus/datetime.json
348
- - spec/spec_tests/common_driver_spec.rb
349
- - spec/spec_helper.rb
350
- - spec/runners/corpus_legacy.rb
351
- - spec/runners/common_driver.rb
352
- - spec/runners/corpus.rb
309
+ - spec/spec_tests/data/corpus/decimal128-5.json
310
+ - spec/spec_tests/data/corpus/top.json
311
+ - spec/spec_tests/data/corpus/decimal128-4.json
312
+ - spec/spec_tests/data/corpus/null.json
313
+ - spec/spec_tests/data/corpus/int32.json
314
+ - spec/spec_tests/data/corpus/dbpointer.json
315
+ - spec/spec_tests/data/corpus/undefined.json
316
+ - spec/spec_tests/data/corpus/timestamp.json
317
+ - spec/spec_tests/data/corpus/decimal128-3.json
318
+ - spec/spec_tests/data/corpus/binary.json
319
+ - spec/spec_tests/data/corpus/minkey.json
320
+ - spec/spec_tests/data/corpus/regex.json
321
+ - spec/spec_tests/data/corpus/decimal128-2.json
322
+ - spec/spec_tests/data/corpus_legacy/failures/datetime.json
323
+ - spec/spec_tests/data/corpus_legacy/failures/symbol.json
324
+ - spec/spec_tests/data/corpus_legacy/failures/int64.json
325
+ - spec/spec_tests/data/corpus_legacy/failures/dbpointer.json
326
+ - spec/spec_tests/data/corpus_legacy/maxkey.json
327
+ - spec/spec_tests/data/corpus_legacy/boolean.json
328
+ - spec/spec_tests/data/corpus_legacy/oid.json
329
+ - spec/spec_tests/data/corpus_legacy/code.json
330
+ - spec/spec_tests/data/corpus_legacy/array.json
331
+ - spec/spec_tests/data/corpus_legacy/double.json
332
+ - spec/spec_tests/data/corpus_legacy/code_w_scope.json
333
+ - spec/spec_tests/data/corpus_legacy/string.json
334
+ - spec/spec_tests/data/corpus_legacy/document.json
335
+ - spec/spec_tests/data/corpus_legacy/top.json
336
+ - spec/spec_tests/data/corpus_legacy/null.json
337
+ - spec/spec_tests/data/corpus_legacy/int32.json
338
+ - spec/spec_tests/data/corpus_legacy/undefined.json
339
+ - spec/spec_tests/data/corpus_legacy/timestamp.json
340
+ - spec/spec_tests/data/corpus_legacy/binary.json
341
+ - spec/spec_tests/data/corpus_legacy/minkey.json
342
+ - spec/spec_tests/data/corpus_legacy/regex.json
343
+ - spec/spec_tests/data/decimal128/decimal128-1.json
344
+ - spec/spec_tests/data/decimal128/decimal128-7.json
345
+ - spec/spec_tests/data/decimal128/decimal128-6.json
346
+ - spec/spec_tests/data/decimal128/decimal128-5.json
347
+ - spec/spec_tests/data/decimal128/decimal128-4.json
348
+ - spec/spec_tests/data/decimal128/decimal128-3.json
349
+ - spec/spec_tests/data/decimal128/decimal128-2.json
350
+ - spec/spec_tests/corpus_legacy_spec.rb