Sha256: 013b5b022e3405215ee57d59de8824466f54a42c5b3333a08121ae0518c0d2e9

Contents?: true

Size: 1.1 KB

Versions: 42

Compression:

Stored size: 1.1 KB

Contents

# frozen_string_literal: true

require 'active_support/core_ext/object'
require 'avm/launcher/ruby/gem/build'

RSpec.describe ::Avm::Launcher::Ruby::Gem::Build do
  describe '#output_file' do
    let(:gem_dir) { ::File.join(DUMMY_DIR, 'ruby_gem_stub') }

    it 'builds .gem file' do
      expect(::File.directory?(gem_dir)).to eq true
      build = described_class.new(gem_dir)

      # Open/close
      assert_closed(build)
      build.build
      assert_open(build)
      build.close
      assert_closed(build)

      # Reopen/reclose
      build.build
      assert_open(build)
      build.close
      assert_closed(build)
    end

    private

    def assert_closed(build)
      expect(build.output_file.blank?).to eq true
      expect(build.builded?).to eq false
    end

    def assert_open(build)
      expect(build.output_file.present?).to eq true
      expect(build.builded?).to eq true
      expect(::File.exist?(build.output_file)).to eq true
      expect(::File.size(build.output_file)).to be_positive
      expect(::File.basename(build.output_file)).to eq('ruby_gem_stub-1.0.0.pre.stub.gem')
    end
  end
end

Version data entries

42 entries across 42 versions & 1 rubygems

Version Path
eac_tools-0.36.0 sub/avm-tools/spec/lib/avm/launcher/ruby/gem/build_spec.rb
eac_tools-0.35.0 sub/avm-tools/spec/lib/avm/launcher/ruby/gem/build_spec.rb
eac_tools-0.34.0 sub/avm-tools/spec/lib/avm/launcher/ruby/gem/build_spec.rb
eac_tools-0.33.0 sub/avm-tools/spec/lib/avm/launcher/ruby/gem/build_spec.rb
eac_tools-0.32.0 sub/avm-tools/spec/lib/avm/launcher/ruby/gem/build_spec.rb
eac_tools-0.31.1 sub/avm-tools/spec/lib/avm/launcher/ruby/gem/build_spec.rb
eac_tools-0.31.0 sub/avm-tools/spec/lib/avm/launcher/ruby/gem/build_spec.rb
eac_tools-0.30.0 sub/avm-tools/spec/lib/avm/launcher/ruby/gem/build_spec.rb
eac_tools-0.29.0 sub/avm-tools/spec/lib/avm/launcher/ruby/gem/build_spec.rb
eac_tools-0.28.0 sub/avm-tools/spec/lib/avm/launcher/ruby/gem/build_spec.rb
eac_tools-0.27.2 sub/avm-tools/spec/lib/avm/launcher/ruby/gem/build_spec.rb
eac_tools-0.27.1 sub/avm-tools/spec/lib/avm/launcher/ruby/gem/build_spec.rb
eac_tools-0.27.0 sub/avm-tools/spec/lib/avm/launcher/ruby/gem/build_spec.rb
eac_tools-0.26.0 sub/avm-tools/spec/lib/avm/launcher/ruby/gem/build_spec.rb
eac_tools-0.25.1 sub/avm-tools/spec/lib/avm/launcher/ruby/gem/build_spec.rb
eac_tools-0.25.0 sub/avm-tools/spec/lib/avm/launcher/ruby/gem/build_spec.rb
eac_tools-0.24.1 sub/avm-tools/spec/lib/avm/launcher/ruby/gem/build_spec.rb
eac_tools-0.24.0 sub/avm-tools/spec/lib/avm/launcher/ruby/gem/build_spec.rb
eac_tools-0.23.0 sub/avm-tools/spec/lib/avm/launcher/ruby/gem/build_spec.rb
eac_tools-0.22.0 sub/avm-tools/spec/lib/avm/launcher/ruby/gem/build_spec.rb