Sha256: 5aa8a4cf257707b3b6bef4ba22ab46f5ab413e8f9878c6870b8832cb04d095a6
Contents?: true
Size: 1.27 KB
Versions: 17
Compression:
Stored size: 1.27 KB
Contents
# frozen_string_literal: true require 'avm/tools/runner' RSpec.describe ::Avm::Tools::Runner::Ruby::Gems::Generate do let(:targets_root) { ::Pathname.new('generate_spec_files').expand_path(__dir__) } %w[mygem dashed-mygem].each do |gem_name| context "when runner is executed for #{gem_name}" do let(:target_dir) { targets_root.join(gem_name) } let(:temp_dir) { ::EacRubyUtils::Fs::Temp.directory } let(:gem_path) { temp_dir.join(gem_name) } let(:argv) do %w[ruby gems generate --eac-ruby-utils-version=0.35.0 --eac-ruby-gem-support-version=0.2.0] + [gem_path.to_path] end before do ::Avm::Tools::Runner.run(argv: argv) end after do temp_dir.remove end it do expect(directory_to_h(gem_path)).to eq(directory_to_h(target_dir)) end end end def directory_to_h(dir) dir.children.map do |child| [child.basename.to_path, fs_object_to_h(child)] end.to_h end def fs_object_to_h(obj) if obj.file? file_to_h(obj) elsif obj.directory? directory_to_h(obj) else raise "Unknown filesystem object \"#{obj}\"" end end def file_to_h(file) return "TRUNCATED\n" if file.basename.to_path == 'Gemfile.lock' file.read end end
Version data entries
17 entries across 17 versions & 1 rubygems