Sha256: 77c3e7b86dd1bcd2943d670d49d17ec8b82403110937b202e8701c797a6bb729

Contents?: true

Size: 1.35 KB

Versions: 2

Compression:

Stored size: 1.35 KB

Contents

# frozen_string_literal: true

require 'tmpdir'

# Example use from https://github.com/apiology/pronto-bigfiles

# This spec is here to make sure we don't break backwards
# compatibility with how this is used elsewhere (i.e., establish a
# public interface).

describe BigFiles do
  let(:bigfiles_config) { ::BigFiles::Config.new }

  let(:bigfiles_inspector) { ::BigFiles::Inspector.new }

  let(:bigfiles_results) { bigfiles_inspector.find_and_analyze }

  let(:under_limit) { bigfiles_config.under_limit?(total_lines) }

  let(:total_lines) { bigfiles_results.map(&:num_lines).reduce(:+) }

  let(:sample_filename) { 'file_with_two_lines.rb' }

  let(:file_with_line) do
    bigfiles_results.find { |f| f.filename == sample_filename }
  end

  let(:example_files) do
    {
      sample_filename => "\n\n",
    }
  end

  around do |example|
    Dir.mktmpdir do |dir|
      Dir.chdir(dir) do
        system('git init')
        system('git config user.email "you@example.com"')
        system('git config user.name "Fake User"')
        example_files.each do |filename, contents|
          File.write(filename, contents)
        end
        system('git add .')
        system('git commit -m "First commit"')
        example.run
      end
    end
  end

  it 'continues to behave like it did' do
    expect(file_with_line).not_to eq(nil)
    expect(under_limit).to be(true)
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
bigfiles-0.3.0 feature/pronto_big_files_use_spec.rb
bigfiles-0.2.2 feature/pronto_big_files_use_spec.rb