Code Review: gitpull3

FYI Code review.

tfpt review “/shelveset:gitpull3;REDMOND\jdeville”
Comment :
Pulls in Shri and Jim’s changes from git:
Jim:
Some more changes. Mostly closing bugs and adding .NET interop tests.
Commit range is 90392fff to a39daeae on
git://github.com/jredville/ironruby.git. I rebased this time, so you
should be able to just grab that range and see only my diffs.

  • closing Rubyforge 15060
    
  • [#24589] $PROGRAM_NAME in 'English' not working now fixed
    
  • making $0 the same object as $PROGRAM_NAME and adding specs for 
    

it. Closes [#24589] $PROGRAM_NAME in ‘English’ not working

  • closing Rubyforge [#15061] tracking: create generic interface 
    

type

  • closing RubyForge [#15651] NoMethodError expected when calling 
    

the private method ‘initialize’ of a ruby class

  • added protected method invocation specs. Closes Rubyforge 
    

[#19118] Protected members not available when inheriting from CLR type

  • adding regression test for [#19872] IComparableOps.CompareTo 
    

throws argument error when type is Decimal

  • added reference support to csc.bat
    
  • closing [#17467] Accessing IronRuby method from C#
    
  • closing [#19950] Dir.glob doesn't handle **
    
  • closing [#20027] Formatting float to string produces incorrectly 
    

"Infinity"

  • closing [#20043] creating a generic type when the type is an 
    

interface

  • closing [#20052] Calculating 3.0/2.0 produces NaN
    
  • closing Rubyforge [#20263] Dir.glob doesn't handle missing 
    

folders

  • closing [#20410] GetKCodeName
    
  • adding test to ensure that File.stat returns a File::Stat object
    
  • closing Rubyforge [#20640] Calling File.open with an integer 
    

(File descriptor overload) causes the File.open site to be unusable

  • closing Rubyforge [#20664] Respecting visibility of methods. 
    

Also fixes a compilation error due to multiple IInterface definitions

  • Closing RubyForge [#20665] Can't use an indexer on a WPF 
    

ResourceDictionary

  • removing a tag for predefined
    
  • closing Rubyforge [#21943] NullRef exception thrown while 
    

comparing a list containing elements with overriden ==

  • closing Rubyforge [#21995] kind_of? not working with when extend 
    

is used

  • recommiting some changes that were reverted by the merge. 
    

Methinks someone in TFS changed them. This makes describe work with 2
strings for shared behaviors, and it makes csc output #line pragmas

  • fixing some more errors from the merge
    
  • Adding class instantiation specs for regular classes with 
    

overloaded constructors

  • adding regression tests for [#22197] calling super throw 
    

Argument Error

  • adding StringBuilder specs to get rid of test_basic.rb. Also 
    

added equal_clr_string matcher

  • refactor specs to use the equal_clr_string matcher
    
  • basic string specs to remove test_basic.rb
    
  • added more string specs to get rid of test_basic. Also adds 
    

field specs

  • adding some basic event add and remove specs
    
  • added event invocation specs
    

JD

Shri:
YAML should allow spaces. eg the trailing \s\t in
YAML.load("!timestamp ‘2009-03-22 00:00:00\s\t’") is allowed
Changed igem.bat, irake.bat, etc to work in dev environment where
ir.exe is not in the path
File.expand_path("~") should throw ArgumentError is HOME is not set

make orig_name, comment, and split close and finish

compile error when pull form irmain, merge in zlib

spec for finish, close, oriname, and trying to DRY orig_name and
comment

make orig_name, comment, close, and finish passed spec.

Implements File.chmod
File.readable? should return false if the given filename does not
exist
File.delete should be able to delete a read-only file. This is
implemented by making the file writable first. This is the only solution
I could find.
Added debugger visualizer for RubyObject so that VS will display the
result of to_s in the Watch window.
Adds the wrapper script Merlin\Main\Test\Scritps\ir.cmd so that the
Legacy tests (Ruby\Scripts\test.bat) can pass without any failures.

Hmmm, duplicate code reviews now, one for when they are in a git branch,
and one for when we pull it into ironruby?