Sha256: 5fdc5d6fabaf8d5ed94cb9a804af450d62169d660b4f7a9d540c6f753bfc5c2d

Contents?: true

Size: 1.59 KB

Versions: 63

Compression:

Stored size: 1.59 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'
    Facter.stubs(:value).with(:osfamily).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
    file_path_separator = File::PATH_SEPARATOR

    # prevent Ruby from warning about changing a constant
    with_verbose_disabled do
      File::ALT_SEPARATOR = '\\'
      File::PATH_SEPARATOR = ';'
    end
    example.run
    with_verbose_disabled do
      File::ALT_SEPARATOR = file_alt_separator
      File::PATH_SEPARATOR = file_path_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
    file_path_separator = File::PATH_SEPARATOR

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

Version data entries

63 entries across 63 versions & 1 rubygems

Version Path
puppet-3.8.7 spec/shared_contexts/platform.rb
puppet-3.8.7-x86-mingw32 spec/shared_contexts/platform.rb
puppet-3.8.7-x64-mingw32 spec/shared_contexts/platform.rb
puppet-3.8.6 spec/shared_contexts/platform.rb
puppet-3.8.6-x86-mingw32 spec/shared_contexts/platform.rb
puppet-3.8.6-x64-mingw32 spec/shared_contexts/platform.rb
puppet-3.8.5 spec/shared_contexts/platform.rb
puppet-3.8.5-x86-mingw32 spec/shared_contexts/platform.rb
puppet-3.8.5-x64-mingw32 spec/shared_contexts/platform.rb
puppet-3.8.4 spec/shared_contexts/platform.rb
puppet-3.8.4-x86-mingw32 spec/shared_contexts/platform.rb
puppet-3.8.4-x64-mingw32 spec/shared_contexts/platform.rb
puppet-3.8.3 spec/shared_contexts/platform.rb
puppet-3.8.3-x86-mingw32 spec/shared_contexts/platform.rb
puppet-3.8.3-x64-mingw32 spec/shared_contexts/platform.rb
puppet-3.8.2 spec/shared_contexts/platform.rb
puppet-3.8.2-x86-mingw32 spec/shared_contexts/platform.rb
puppet-3.8.2-x64-mingw32 spec/shared_contexts/platform.rb
puppet-3.8.1 spec/shared_contexts/platform.rb
puppet-3.8.1-x86-mingw32 spec/shared_contexts/platform.rb