Sha256: 930eb67cc148fe030c658794c561097ab2a4a4d070a19087b7bff5020293747c

Contents?: true

Size: 1.18 KB

Versions: 27

Compression:

Stored size: 1.18 KB

Contents

require 'spec_helper'

require 'protobuf/code_generator'
require 'protobuf/generators/extension_generator'

RSpec.describe ::Protobuf::Generators::ExtensionGenerator do

  let(:field_descriptors) do
    [
      double('field descriptor 1', :to_s => "  field 1\n"),
      double('field descriptor 2', :to_s => "  field 2\n"),
      double('field descriptor 3', :to_s => "  field 3\n"),
    ]
  end
  let(:message_type) { 'FooBar' }

  before do
    expect(::Protobuf::Generators::FieldGenerator).to receive(:new).with(field_descriptors[0], nil, 1).and_return(field_descriptors[0])
    expect(::Protobuf::Generators::FieldGenerator).to receive(:new).with(field_descriptors[1], nil, 1).and_return(field_descriptors[1])
    expect(::Protobuf::Generators::FieldGenerator).to receive(:new).with(field_descriptors[2], nil, 1).and_return(field_descriptors[2])
  end

  subject { described_class.new(message_type, field_descriptors, 0) }

  describe '#compile' do
    let(:compiled) do
      'class FooBar < ::Protobuf::Message
  field 1
  field 2
  field 3
end

'
    end

    it 'compiles the a class with the extension fields' do
      subject.compile
      expect(subject.to_s).to eq(compiled)
    end
  end

end

Version data entries

27 entries across 27 versions & 2 rubygems

Version Path
protobuf-3.10.9 spec/lib/protobuf/generators/extension_generator_spec.rb
protobuf-3.10.8 spec/lib/protobuf/generators/extension_generator_spec.rb
protobuf-3.10.7 spec/lib/protobuf/generators/extension_generator_spec.rb
protobuf-3.10.6 spec/lib/protobuf/generators/extension_generator_spec.rb
protobuf-3.10.5 spec/lib/protobuf/generators/extension_generator_spec.rb
protobuf-3.10.4 spec/lib/protobuf/generators/extension_generator_spec.rb
protobuf-cucumber-3.10.8 spec/lib/protobuf/generators/extension_generator_spec.rb
protobuf-cucumber-3.10.7 spec/lib/protobuf/generators/extension_generator_spec.rb
protobuf-cucumber-3.10.6 spec/lib/protobuf/generators/extension_generator_spec.rb
protobuf-cucumber-3.10.5 spec/lib/protobuf/generators/extension_generator_spec.rb
protobuf-cucumber-3.10.4 spec/lib/protobuf/generators/extension_generator_spec.rb
protobuf-3.10.3 spec/lib/protobuf/generators/extension_generator_spec.rb
protobuf-3.10.2 spec/lib/protobuf/generators/extension_generator_spec.rb
protobuf-3.10.1 spec/lib/protobuf/generators/extension_generator_spec.rb
protobuf-3.10.0 spec/lib/protobuf/generators/extension_generator_spec.rb
protobuf-3.10.0.pre0 spec/lib/protobuf/generators/extension_generator_spec.rb
protobuf-3.9.0 spec/lib/protobuf/generators/extension_generator_spec.rb
protobuf-3.9.0.pre2 spec/lib/protobuf/generators/extension_generator_spec.rb
protobuf-3.9.0.pre spec/lib/protobuf/generators/extension_generator_spec.rb
protobuf-3.8.5 spec/lib/protobuf/generators/extension_generator_spec.rb