ruby-changes:7874
From: xibbar <ko1@a...>
Date: Wed, 17 Sep 2008 13:49:49 +0900 (JST)
Subject: [ruby-changes:7874] Ruby:r19395 (trunk): * lib/cgi/html.rb (checkbox_group,radio_group): bug fix
xibbar 2008-09-17 13:49:28 +0900 (Wed, 17 Sep 2008) New Revision: 19395 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=19395 Log: * lib/cgi/html.rb (checkbox_group,radio_group): bug fix use size instead of bytesize. * test/cgi/test_cgi_tag_helper.rb: test for checkbox_group,radio_group. Modified files: trunk/ChangeLog trunk/lib/cgi/html.rb trunk/test/cgi/test_cgi_tag_helper.rb Index: ChangeLog =================================================================== --- ChangeLog (revision 19394) +++ ChangeLog (revision 19395) @@ -1,3 +1,10 @@ +Wed Sep 17 13:42:59 2008 Takeyuki Fujioka <xibbar@r...> + + * lib/cgi/html.rb (checkbox_group,radio_group): bug fix + use size instead of bytesize. + + * test/cgi/test_cgi_tag_helper.rb: test for checkbox_group,radio_group. + Wed Sep 17 06:58:31 2008 Tadayoshi Funaba <tadf@d...> * numeric.c: provides predicate real? instead of scalar?. Index: lib/cgi/html.rb =================================================================== --- lib/cgi/html.rb (revision 19394) +++ lib/cgi/html.rb (revision 19395) @@ -248,12 +248,12 @@ if value.kind_of?(String) checkbox(name, value) + value else - if value[value.bytesize - 1] == true + if value[value.size - 1] == true checkbox(name, value[0], true) + - value[value.bytesize - 2] + value[value.size - 2] else checkbox(name, value[0]) + - value[value.bytesize - 1] + value[value.size - 1] end end }.join @@ -703,12 +703,12 @@ if value.kind_of?(String) radio_button(name, value) + value else - if value[value.bytesize - 1] == true + if value[value.size - 1] == true radio_button(name, value[0], true) + - value[value.bytesize - 2] + value[value.size - 2] else radio_button(name, value[0]) + - value[value.bytesize - 1] + value[value.size - 1] end end }.join Index: test/cgi/test_cgi_tag_helper.rb =================================================================== --- test/cgi/test_cgi_tag_helper.rb (revision 19394) +++ test/cgi/test_cgi_tag_helper.rb (revision 19395) @@ -305,6 +305,14 @@ assert_equal('<TH>foo</TH>',cgi.th{'foo'}) assert_equal('<TD>',cgi.td) assert_equal('<TD>foo</TD>',cgi.td{'foo'}) + str=cgi.checkbox_group("foo",["aa","bb"],["cc","dd"]) + assert_match(/^<INPUT .*VALUE="aa".*>bb<INPUT .*VALUE="cc".*>dd$/,str) + assert_match(/^<INPUT .*TYPE="checkbox".*>bb<INPUT .*TYPE="checkbox".*>dd$/,str) + assert_match(/^<INPUT .*NAME="foo".*>bb<INPUT .*NAME="foo".*>dd$/,str) + str=cgi.radio_group("foo",["aa","bb"],["cc","dd"]) + assert_match(/^<INPUT .*VALUE="aa".*>bb<INPUT .*VALUE="cc".*>dd$/,str) + assert_match(/^<INPUT .*TYPE="radio".*>bb<INPUT .*TYPE="radio".*>dd$/,str) + assert_match(/^<INPUT .*NAME="foo".*>bb<INPUT .*NAME="foo".*>dd$/,str) end =begin -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/