Sha256: 58ba5c7a545007115315a100cf3382ed467d234a6b3f006b9878270f7a901755

Contents?: true

Size: 1.96 KB

Versions: 1

Compression:

Stored size: 1.96 KB

Contents

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

class AliasTest < Test::Unit::TestCase
  test "loads config file config/aliases.yml if found" do
    File.expects(:exists?).with('config/aliases.yml').returns(true)
    File.expects(:read).returns('')
    Alias.load_config_file
  end
  
  test "loads config file aliases.yml if found" do
    File.stubs(:exists?).returns(false, true)
    File.stubs(:read).returns('')
    Alias.load_config_file
  end
  
  test "loads given config file" do
    config = Alias.load_config_file(File.join(File.dirname(__FILE__),'aliases.yml'))
    assert config.is_a?(Hash)
  end
  
  test "returns hash if no config file found" do
    File.stubs(:exists?).returns(false)
    Alias.load_config_file.should == {}
  end
  
  context "Alias_init" do
    before(:each) { Alias.config = {}}
    
    test "with block sets config properly" do
      Alias.manager.expects(:create_aliases).times(2)
      Alias.init do |a|
        a.verbose = true
        a.constant = {'Blah'=>'B'}
        a.instance_method = {'String'=>{'to_s'=>'s'}}
      end
      expected_config = {"instance_method"=>{"String"=>{"to_s"=>"s"}}, "constant"=>{"Blah"=>"B"}, "verbose"=>true}
      Alias.config.should == expected_config
    end
    
    test "creates manager object and non-empty aliases" do
      Alias.init :file=>File.join(File.dirname(__FILE__),'aliases.yml')
      Alias.manager.alias_map(:instance_method)
      Alias.manager.alias_map(:class_method)
      Alias.manager.alias_map(:constant)
    end
    
    test "with verbose option sets config and manager verbosity" do
      Alias.manager.stubs(:create_aliases)
      Alias.init :verbose=>true
      assert Alias.config['verbose']
      assert Alias.manager.verbose
    end
    
    test "with no verbose option doesn't set config and manager verbosity" do
      Alias.manager.stubs(:create_aliases)
      assert Alias.manager.expects(:verbose=).never
      Alias.init
      assert Alias.config['verbose'].nil?
    end
  end
  
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
cldwalker-alias-0.1.2 test/alias_test.rb