Sha256: 5c6710562c51ccee2c31e793822c9aca498e2d2c0f2933f65da957a52e2c15bd

Contents?: true

Size: 1.28 KB

Versions: 9

Compression:

Stored size: 1.28 KB

Contents

# Contexts for stubbing platforms
# In a describe or context block, adding :as_platform => :windows or
# :as_platform => :posix will stub the relevant Puppet features, as well as
# the behavior of Ruby's filesystem methods by changing File::ALT_SEPARATOR.

shared_context "windows", :as_platform => :windows do
  before :each do
    Facter.stubs(:value).with(:operatingsystem).returns 'Windows'
    Puppet.features.stubs(:microsoft_windows?).returns(true)
    Puppet.features.stubs(:posix?).returns(false)
  end

  around do |example|
    file_alt_separator = File::ALT_SEPARATOR
    # prevent Ruby from warning about changing a constant
    with_verbose_disabled do
      File::ALT_SEPARATOR = '\\'
    end
    example.run
    with_verbose_disabled do
      File::ALT_SEPARATOR = file_alt_separator
    end
  end
end

shared_context "posix", :as_platform => :posix do
  before :each do
    Puppet.features.stubs(:microsoft_windows?).returns(false)
    Puppet.features.stubs(:posix?).returns(true)
  end

  around do |example|
    file_alt_separator = File::ALT_SEPARATOR
    # prevent Ruby from warning about changing a constant
    with_verbose_disabled do
      File::ALT_SEPARATOR = nil
    end
    example.run
    with_verbose_disabled do
      File::ALT_SEPARATOR = file_alt_separator
    end
  end
end

Version data entries

9 entries across 9 versions & 2 rubygems

Version Path
librarian-puppet-0.9.4 vendor/gems/ruby/1.8/gems/puppet-2.7.18/spec/shared_contexts/platform.rb
puppet-3.0.0.rc5 spec/shared_contexts/platform.rb
puppet-3.0.0.rc4 spec/shared_contexts/platform.rb
puppet-2.7.19 spec/shared_contexts/platform.rb
librarian-puppet-0.9.3 vendor/gems/ruby/1.8/gems/puppet-2.7.18/spec/shared_contexts/platform.rb
puppet-2.7.18 spec/shared_contexts/platform.rb
puppet-2.7.17 spec/shared_contexts/platform.rb
puppet-2.7.16 spec/shared_contexts/platform.rb
puppet-2.7.14 spec/shared_contexts/platform.rb