Sha256: 64624f19fa73b59f55d50af2406074e60f3370ad2d88705b87b0924aba6ed830

Contents?: true

Size: 1.83 KB

Versions: 1

Compression:

Stored size: 1.83 KB

Contents

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

class Alias::MethodCreatorHelperTest < Test::Unit::TestCase
  
  context "ClassMethodCreator" do
    before(:each) { @creator = Alias::ClassMethodCreator.new }
    
    test "deletes invalid class method keys" do
      h1 = {'String'=>{'yaml_new'=>'yn'},'Array'=>{'blah'=>'bl'}}
      @creator.delete_invalid_method_keys(h1)
      h1.should == {"Array"=>{}, "String"=>{'yaml_new'=>'yn'}}
    end
  
    test "deletes existing class method aliases" do
      h1 = {'Date'=>{'civil_to_jd'=>'civil', 'valid_time?'=>'vt'} }
      @creator.delete_existing_method_aliases(h1)
      h1.should == {'Date'=>{'valid_time?'=>'vt'} }
    end
  
    test "deletes existing class method unless it was created by the object" do
      h1 = {'String'=>{'name'=>'n'}}
      @creator.create(h1)
      assert_not_equal 'blah', String.n
      h2 = {'String'=>{'new'=>'n'}}
      @creator.create(h2)
      assert_equal 'blah', String.n('blah')
    end
  end
  
  context "InstanceMethodCreator" do
    before(:each) { @creator = Alias::InstanceMethodCreator.new }
    
    test "deletes existing instance method aliases" do
      h1 = {'String'=>{'strip'=>'st', 'chomp'=>'chop'}}
      @creator.delete_existing_method_aliases(h1)
      h1.should == {"String"=>{"strip"=>"st"}}
    end
    
    test "deletes existing instance method unless it was created by the object" do
      h1 = {'String'=>{'downcase'=>'d'}}
      @creator.create(h1)
      assert_not_equal 'bh', 'blah'.d
      h2 = {'String'=>{'delete'=>'d'}}
      @creator.create(h2)
      assert_equal 'bh', 'blah'.d('la')
    end
  
    test "deletes invalid instance method keys" do
      h1 = {'String'=>{'strip'=>'st'},'Array'=>{'blah', 'bl'}}
      @creator.delete_invalid_method_keys(h1)
      h1.should == {"Array"=>{}, "String"=>{"strip"=>"st"}}
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
cldwalker-alias-0.1.1 test/method_creator_helper_test.rb