Sha256: 2e95e45603040df2d304e3b7095e7b53d54c1a79586a49ac21d1dde38489e9c7

Contents?: true

Size: 913 Bytes

Versions: 2

Compression:

Stored size: 913 Bytes

Contents

# -*- encoding: utf-8 -*-

require 'spec_helper'

describe TTY::Terminal, '#home' do

  before { ENV.stub(:[]) }

  subject(:terminal) { described_class.new.home }

  after { terminal.instance_variable_set(:@home, nil) }

  it 'expands user home path if HOME environemnt not set' do
    File.stub(:expand_path).and_return('/home/user')
    expect(terminal).to eql('/home/user')
  end

  it 'defaults to user HOME environment' do
    ENV.stub(:[]).with('HOME').and_return('/home/user')
    expect(terminal).to eq('/home/user')
  end

  context 'when failed to expand' do
    before { File.should_receive(:expand_path).and_raise(RuntimeError) }

    it 'returns C:/ on windows' do
      TTY::System.stub(:windows?).and_return true
      expect(terminal).to eql("C:/")
    end

    it 'returns root on unix' do
      TTY::System.stub(:windows?).and_return false
      expect(terminal).to eql("/")
    end
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
tty-0.0.11 spec/tty/terminal/home_spec.rb
tty-0.0.10 spec/tty/terminal/home_spec.rb