ruby-changes:7363
From: suke <ko1@a...>
Date: Wed, 27 Aug 2008 23:43:40 +0900 (JST)
Subject: [ruby-changes:7363] Ruby:r18882 (trunk): * ext/win32ole/win32ole.c (ole_invoke): WIN32OLE#[] and WIN32OLE#[]=
suke 2008-08-27 23:43:23 +0900 (Wed, 27 Aug 2008) New Revision: 18882 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=18882 Log: * ext/win32ole/win32ole.c (ole_invoke): WIN32OLE#[] and WIN32OLE#[]= accepts number argument. * test/win32ole/test_win32ole.rb: ditto. Modified files: trunk/ChangeLog trunk/ext/win32ole/win32ole.c trunk/test/win32ole/test_win32ole.rb Index: ChangeLog =================================================================== --- ChangeLog (revision 18881) +++ ChangeLog (revision 18882) @@ -1,3 +1,10 @@ +Wed Aug 27 23:28:51 2008 Masaki Suketa <masaki.suketa@n...> + + * ext/win32ole/win32ole.c (ole_invoke): WIN32OLE#[] and WIN32OLE#[]= + accepts number argument. + + * test/win32ole/test_win32ole.rb: ditto. + Wed Aug 27 14:45:34 2008 NARUSE, Yui <naruse@r...> * test/cgi/test_cgi_core.rb: add core test. Index: ext/win32ole/win32ole.c =================================================================== --- ext/win32ole/win32ole.c (revision 18881) +++ ext/win32ole/win32ole.c (revision 18882) @@ -3225,7 +3225,7 @@ op.dp.cArgs = 0; rb_scan_args(argc, argv, "1*", &cmd, ¶mS); - if(TYPE(cmd) != T_STRING && TYPE(cmd) != T_SYMBOL) { + if(TYPE(cmd) != T_STRING && TYPE(cmd) != T_SYMBOL && !is_bracket) { rb_raise(rb_eTypeError, "method is wrong type (expected String or Symbol)"); } if (TYPE(cmd) == T_SYMBOL) { Index: test/win32ole/test_win32ole.rb =================================================================== --- test/win32ole/test_win32ole.rb (revision 18881) +++ test/win32ole/test_win32ole.rb (revision 18882) @@ -119,6 +119,14 @@ assert_equal("BAR", @dict1["foo"]) end + def test_bracket_with_numkey + @dict1.add(1, "ONE") + @dict1.add(2, "two") + assert_equal("ONE", @dict1[1]) + @dict1[2] = "TWO" + assert_equal("TWO", @dict1[2]) + end + def test_invoke_with_array @dict1.add("ary1", [1,2,3]) assert_equal([1,2,3], @dict1["ary1"]) -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/