Sha256: 5a390366039823f7e2dc0bf64fa795b06f45385c7086800b66bd626b4d7fb6b8

Contents?: true

Size: 1.45 KB

Versions: 9

Compression:

Stored size: 1.45 KB

Contents

require 'spec_helper'
require 'tempfile'

describe Gitlab::Shell::History do
  context 'saving to a file' do
    before do
      @file = Tempfile.new('.gitlab_shell_history')
      @history = Gitlab::Shell::History.new(file_path: @file.path)
    end

    after { @file.close(true) }

    it 'saves the lines' do
      @history << 'party on, dudes'
      @history << 'be excellent to each other'
      @history.save
      expect(File.read @file.path).
        to eq("party on, dudes\nbe excellent to each other\n")
    end

    it 'has the lines' do
      @history << 'party on, dudes'
      @history << 'be excellent to each other'
      expect(@history.lines).
        to eq(["party on, dudes", "be excellent to each other"])
    end

    it 'limits the lines to GITLAB_HISTFILESIZE' do
      ENV['GITLAB_HISTFILESIZE'] = '2'
      @history << 'bogus'
      @history << 'party on, dudes'
      @history << 'be excellent to each other'
      @history.save
      expect(@history.lines).
        to eq(["party on, dudes", "be excellent to each other"])
      expect(File.read @file.path).
        to eq("party on, dudes\nbe excellent to each other\n")
    end
  end

  context 'loading a file' do
    before do
      @file = load_fixture('shell_history')
      @history = Gitlab::Shell::History.new(file_path: @file.path)
    end

    it 'has the lines' do
      @history.load
      expect(@history.lines).
        to eq(["party on, dudes", "be excellent to each other"])
    end
  end
end

Version data entries

9 entries across 9 versions & 2 rubygems

Version Path
gitlab-4.4.0 spec/gitlab/shell_history_spec.rb
gitlab-4.3.0 spec/gitlab/shell_history_spec.rb
gitlab-4.2.0 spec/gitlab/shell_history_spec.rb
gitlab-4.1.0 spec/gitlab/shell_history_spec.rb
gitlab-4.0.0 spec/gitlab/shell_history_spec.rb
gitlab-akerl-4.0.0 spec/gitlab/shell_history_spec.rb
gitlab-3.7.0 spec/gitlab/shell_history_spec.rb
gitlab-3.6.1 spec/gitlab/shell_history_spec.rb
gitlab-3.6.0 spec/gitlab/shell_history_spec.rb