bson 4.8.1 → 4.9.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.
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