Sha256: 4fe532b010b8ecb3ba19d22168450dbd982296018ff0137fed3dc13c73d5e5fe

Contents?: true

Size: 1.14 KB

Versions: 26

Compression:

Stored size: 1.14 KB

Contents

require 'spec_helper'

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

describe ::Protobuf::Generators::ExtensionGenerator do

  let(:field_descriptors) {
    [
      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")
    ]
  }
  let(:message_type) { 'FooBar' }

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

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

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

}
    }

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

end

Version data entries

26 entries across 26 versions & 2 rubygems

Version Path
protobuffy-3.6.0 spec/lib/protobuf/generators/extension_generator_spec.rb
protobuffy-3.5.1 spec/lib/protobuf/generators/extension_generator_spec.rb
protobuffy-3.4.0 spec/lib/protobuf/generators/extension_generator_spec.rb
protobuffy-3.3.0 spec/lib/protobuf/generators/extension_generator_spec.rb
protobuffy-3.2.0 spec/lib/protobuf/generators/extension_generator_spec.rb
protobuffy-3.1.0 spec/lib/protobuf/generators/extension_generator_spec.rb
protobuf-3.0.4 spec/lib/protobuf/generators/extension_generator_spec.rb
protobuf-2.8.13 spec/lib/protobuf/generators/extension_generator_spec.rb
protobuf-3.0.3 spec/lib/protobuf/generators/extension_generator_spec.rb
protobuf-3.0.2 spec/lib/protobuf/generators/extension_generator_spec.rb
protobuf-3.0.1 spec/lib/protobuf/generators/extension_generator_spec.rb
protobuf-3.0.0 spec/lib/protobuf/generators/extension_generator_spec.rb
protobuf-3.0.0.rc2 spec/lib/protobuf/generators/extension_generator_spec.rb
protobuf-3.0.0.rc1 spec/lib/protobuf/generators/extension_generator_spec.rb
protobuf-2.8.12 spec/lib/protobuf/generators/extension_generator_spec.rb
protobuf-2.8.11 spec/lib/protobuf/generators/extension_generator_spec.rb
protobuf-2.8.10 spec/lib/protobuf/generators/extension_generator_spec.rb
protobuf-2.8.9 spec/lib/protobuf/generators/extension_generator_spec.rb
protobuf-2.8.8 spec/lib/protobuf/generators/extension_generator_spec.rb
protobuf-2.8.7 spec/lib/protobuf/generators/extension_generator_spec.rb