Sha256: 512e1bc98f766f94323925b6884d588b36928f5c5a8e3e7a12638c71cced7e2f

Contents?: true

Size: 1.17 KB

Versions: 10

Compression:

Stored size: 1.17 KB

Contents

require "spec_helper"

describe Stairs::EnvAdapters::Rbenv do
  subject { described_class.new }

  describe ".present?" do
    before { described_class.should_receive(:`).with("which rbenv-vars") }

    context "when rbenv-vars is installed" do
      before { $?.stub success?: true }

      it "returns true" do
        expect(described_class.present?).to be_true
      end
    end

    context "when rbenv-vars is not installed" do
      before { $?.stub success?: false }

      it "returns true" do
        expect(described_class.present?).to be_false
      end
    end
  end

  describe "#set" do
    it "delegates to the well tested FileMutation util" do
      name = "VAR_NAME"
      value = "the_value"

      Stairs::Util::FileMutation.should_receive(:replace_or_append).with(
        Regexp.new("^#{name}=(.*)$"),
        "#{name}=#{value}",
        ".rbenv-vars",
      )

      subject.set(name, value)
    end
  end

  describe "#unset" do
    it "delegates to the well tested FileMutation util" do
      Stairs::Util::FileMutation.should_receive(:remove).with(
        Regexp.new("^SOMETHING=(.*)\n"),
        ".rbenv-vars",
      )
      subject.unset "SOMETHING"
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
stairs-0.9.0 spec/lib/stairs/env_adapters/rbenv_spec.rb
stairs-0.8.0 spec/lib/stairs/env_adapters/rbenv_spec.rb
stairs-0.7.1 spec/lib/stairs/env_adapters/rbenv_spec.rb
stairs-0.7.0 spec/lib/stairs/env_adapters/rbenv_spec.rb
stairs-0.6.1 spec/lib/stairs/env_adapters/rbenv_spec.rb
stairs-0.6.0 spec/lib/stairs/env_adapters/rbenv_spec.rb
stairs-0.5.1 spec/lib/stairs/env_adapters/rbenv_spec.rb
stairs-0.5.0 spec/lib/stairs/env_adapters/rbenv_spec.rb
stairs-0.4.2 spec/lib/stairs/env_adapters/rbenv_spec.rb
stairs-0.4.1 spec/lib/stairs/env_adapters/rbenv_spec.rb