Sha256: df36d60cdf90e20cf32db5645a24cc3b561a31123911d151e82738c251a58106

Contents?: true

Size: 786 Bytes

Versions: 13

Compression:

Stored size: 786 Bytes

Contents

require 'base64'
require 'spec_helper'

RSpec.describe Protobuf::Varint do
  VALUES = {
    0 => "AA==",
    5 => "BQ==",
    51 => "Mw==",
    9_192 => "6Ec=",
    80_389 => "hfQE",
    913_389 => "7d83",
    516_192_829_912_693 => "9eyMkpivdQ==",
    9_999_999_999_999_999_999 => "//+fz8jgyOOKAQ==",
  }

  [defined?(::Varint) ? ::Varint : nil, Protobuf::VarintPure].compact.each do |klass|
    context "with #{klass}" do
      before { described_class.extend(klass) }
      after { load ::File.expand_path('../../../../lib/protobuf/varint.rb', __FILE__) }

      VALUES.each do |number, encoded|
        it "decodes #{number}" do
          io = StringIO.new(Base64.decode64(encoded))
          expect(described_class.decode(io)).to eq(number)
        end
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
protobuf-3.6.12 spec/lib/protobuf/varint_spec.rb
protobuf-3.6.11 spec/lib/protobuf/varint_spec.rb
protobuf-3.6.10 spec/lib/protobuf/varint_spec.rb
protobuf-3.7.0.pre2 spec/lib/protobuf/varint_spec.rb
protobuf-3.6.9 spec/lib/protobuf/varint_spec.rb
protobuf-3.7.0.pre1 spec/lib/protobuf/varint_spec.rb
protobuf-3.7.0.pre0 spec/lib/protobuf/varint_spec.rb
protobuf-3.6.7 spec/lib/protobuf/varint_spec.rb
protobuf-3.6.6 spec/lib/protobuf/varint_spec.rb
protobuf-3.6.2 spec/lib/protobuf/varint_spec.rb
protobuf-3.6.1 spec/lib/protobuf/varint_spec.rb
protobuf-3.6.0 spec/lib/protobuf/varint_spec.rb
protobuf-3.5.5 spec/lib/protobuf/varint_spec.rb