Sha256: c82053e92a8b530372b23b32431a830d58d852975200bfcc8b2481b081b455c0

Contents?: true

Size: 1.54 KB

Versions: 25

Compression:

Stored size: 1.54 KB

Contents

require File.join(File.dirname(__FILE__), '..', 'test_helper')

class UtilTest < Test::Unit::TestCase
  class RegUtil
    extend Vagrant::Util
  end

  context "erroring" do
    # TODO: Any way to stub Kernel.exit? Can't test nicely
    # otherwise
  end

  context "logger" do
    class OtherUtil
      extend Vagrant::Util
    end

    setup do
      @config = Vagrant::Config::Top.new
      @config.stubs(:loaded?).returns(true)
      @config.vagrant.log_output = STDOUT
      Vagrant::Config.stubs(:config).returns(@config)
      Vagrant::Logger.reset_logger!
    end

    teardown do
      Vagrant::Logger.reset_logger!
    end

    should "return a logger to nil if config is not loaded" do
      @config.expects(:loaded?).returns(false)
      logger = RegUtil.logger
      assert_nil logger.instance_variable_get(:@logdev)
    end

    should "return a logger using the configured output" do
      logger = RegUtil.logger
      logdev = logger.instance_variable_get(:@logdev)
      assert logger
      assert !logdev.nil?
      assert_equal STDOUT, logdev.dev
    end

    should "only instantiate a logger once" do
      Vagrant::Logger.expects(:new).once.returns("GOOD")
      RegUtil.logger
      RegUtil.logger
    end

    should "be able to reset the logger" do
      Vagrant::Logger.expects(:new).twice
      RegUtil.logger
      Vagrant::Logger.reset_logger!
      RegUtil.logger
    end

    should "return the same logger across classes" do
      logger = RegUtil.logger
      other = OtherUtil.logger

      assert logger.equal?(other)
    end
  end
end

Version data entries

25 entries across 25 versions & 3 rubygems

Version Path
vagrantup-0.3.4 test/vagrant/util_test.rb
vagrantup-0.3.3 test/vagrant/util_test.rb
vagrantup-0.3.2 test/vagrant/util_test.rb
vagrantup-0.3.1 test/vagrant/util_test.rb
vagrantup-0.3.0 test/vagrant/util_test.rb
vagrantup-0.2.0 test/vagrant/util_test.rb
vagrantup-0.1.4 test/vagrant/util_test.rb
vagrantup-0.1.3 test/vagrant/util_test.rb
vagrantup-0.1.2 test/vagrant/util_test.rb
vagrantup-0.1.1 test/vagrant/util_test.rb
vagrantup-0.1.0 test/vagrant/util_test.rb
vagrant-0.3.4 test/vagrant/util_test.rb
vagrant-0.3.3 test/vagrant/util_test.rb
vagrant-0.3.2 test/vagrant/util_test.rb
vagrant-0.3.1 test/vagrant/util_test.rb
vagrant-0.3.0 test/vagrant/util_test.rb
bmabey-vagrant-0.2.0 test/vagrant/util_test.rb
vagrant-0.2.0 test/vagrant/util_test.rb
vagrant-0.2.0.pre test/vagrant/util_test.rb
vagrant-0.1.4 test/vagrant/util_test.rb