Sha256: deac8e88aa12e6df9b2d20698d4651bff9d79f3b86e705cc009ea74c747efc2b

Contents?: true

Size: 1.06 KB

Versions: 2

Compression:

Stored size: 1.06 KB

Contents

require 'schema_dev/gemfiles'

describe SchemaDev::Gemfiles do

  it "copies listed files" do
    config = get_config(ruby: %W[1.9.3 2.1.5], rails: %W[4.0 4.1], db: %W[sqlite3 postgresql])
    in_tmpdir do
      expect(SchemaDev::Gemfiles.build(config)).to be_truthy
      expect(relevant_diff(config, "gemfiles")).to be_empty
    end
  end

  it "only copies files once" do
    config = get_config(ruby: %W[1.9.3 2.1.5], rails: %W[4.0 4.1], db: %W[sqlite3 postgresql])
    in_tmpdir do
      expect(SchemaDev::Gemfiles.build(config)).to be_truthy
      expect(SchemaDev::Gemfiles.build(config)).to be_falsey
    end
  end

  def relevant_diff(config, dir)
    src = SchemaDev::Gemfiles::TEMPLATES_ROOT + dir
    diff = `diff -rq #{src} #{dir} 2>&1`.split("\n")

    # expect copy not to have entry for rails not in config
    diff.reject!{ |d| d =~ %r[Only in #{src}: rails-(.*)] and not config.rails.include? $1 }

    # expect copy not to have entry for db not in config
    diff.reject!{ |d| d =~ %r[Only in #{src}.*: Gemfile.(.*)] and not config.db.include? $1 }
  end

end
        

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
schema_dev-1.4.0 spec/gemfiles_spec.rb
schema_dev-1.3.0 spec/gemfiles_spec.rb