Sha256: c7f4ea97afdf79b77e9d943d7c427148b328f4dd31896657e4dc185919fe4de6

Contents?: true

Size: 1.1 KB

Versions: 3

Compression:

Stored size: 1.1 KB

Contents

# -*- encoding : utf-8 -*-
require 'spec_helper'

describe GitStats::GitData::ShortStat do
  let(:commit) { build(:commit, sha: 'abc') }

  describe 'git output parsing' do
    context 'parsing git show output' do
      [
          {content: '2 files changed, 17 insertions(+), 3 deletions(-)', expect: [2, 17, 3]},
          {content: '1 file changed, 1 insertion(+), 1 deletion(-)', expect: [1, 1, 1]},
          {content: '2 files changed, 3 deletions(-)', expect: [2, 0, 3]},
          {content: '2 files changed, 5 insertions(+)', expect: [2, 5, 0]},
          {content: '', expect: [0, 0, 0]},
      ].each do |test|
        it "#{test[:content]} parsing" do
          commit.repo.should_receive(:run).with("git show --shortstat --oneline --no-renames abc -- .").and_return("abc some commit\n#{test[:content]}")


          commit.short_stat.should be_a(GitStats::GitData::ShortStat)
          commit.short_stat.files_changed.should == test[:expect][0]
          commit.short_stat.insertions.should == test[:expect][1]
          commit.short_stat.deletions.should == test[:expect][2]
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
git_stats-1.0.17 spec/git_data/short_stat_spec.rb
git_stats-1.0.16 spec/git_data/short_stat_spec.rb
git_stats-1.0.15 spec/git_data/short_stat_spec.rb