Граф коммитов

2247 Коммитов

Автор SHA1 Сообщение Дата
seki 2d53925643 remove PercentScanner. fixed % after %> bug. [ruby-dev:37751] [Bug #997]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21431 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-11 07:58:02 +00:00
naruse 832740d15c * test/ruby/test_process.rb (TestProcess#test_wait_and_sigchild):
Add rescue NotImplementedError.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-11 01:30:59 +00:00
akr 8de603784a test update for version string.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21417 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-10 11:58:58 +00:00
nobu a931f96111 * test/ruby/test_process.rb (TestProcess::MANDATORY_ENVS): some
platforms need environments for shared objects.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21393 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-09 01:40:16 +00:00
nobu 0e9023acd0 * test/rubygems/test_gem.rb (test_self_user_home_user_drive_and_path): removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21372 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-07 14:33:17 +00:00
akr 55b2bf4dec * ext/socket/socket.c (rb_cAddrInfo): new class AddrInfo.
(s_recvfrom): return AddrInfo as address.
  (s_recvfrom_nonblock): ditto.
  (sock_accept): ditto.
  (sock_accept_nonblock): ditto.
  (sock_sysaccept): ditto.
  (bsock_send): accept AddrInfo as address argument.
  (sock_connect): ditto.
  (sock_connect_nonblock): ditto.
  (sock_bind): ditto.
  (sock_s_unpack_sockaddr_in): ditto.
  (sock_s_unpack_sockaddr_un): ditto.
  (bsock_local_address): new method BasicSocket#local_address.
  (bsock_remote_address): new method BasicSocket#remote_address.
  (addrinfo_initialize): new method AddrInfo#initialize.
  (addrinfo_inspect): new method AddrInfo#inspect.
  (addrinfo_afamily): new method AddrInfo#afamily.
  (addrinfo_pfamily): new method AddrInfo#pfamily.
  (addrinfo_socktype): new method AddrInfo#socktype.
  (addrinfo_protocol): new method AddrInfo#protocol.
  (addrinfo_to_sockaddr): new method AddrInfo#to_sockaddr.
  (addrinfo_canonname): new method AddrInfo#canonname.
  (addrinfo_ip_p): new method AddrInfo#ip?.
  (addrinfo_ipv4_p): new method AddrInfo#ipv4?.
  (addrinfo_ipv6_p): new method AddrInfo#ipv6?.
  (addrinfo_unix_p): new method AddrInfo#unix?.
  (addrinfo_getnameinfo): new method AddrInfo#getnameinfo.
  (addrinfo_s_getaddrinfo): new method AddrInfo.getaddrinfo.
  (addrinfo_s_tcp): new method AddrInfo.tcp.
  (addrinfo_s_udp): new method AddrInfo.udp.
  (addrinfo_s_unix): new method AddrInfo.unix.
  (Init_socket): define new class and methods.
  (sock_getaddrinfo): apply socktype hack regardless of ai_flags.
  (addrinfo_new): defined.
  (get_afamily): ditto.
  (fd_socket_addrinfo): ditto.
  (io_socket_addrinfo): ditto.
  (SockAddrStringValue): ditto.
  (SockAddrStringValuePtr): ditto.
  (sockaddr_string_value): ditto.
  (sockaddr_string_value_ptr): ditto.
  (rb_addrinfo_t): ditto.
  (addrinfo_mark): ditto.
  (addrinfo_free): ditto.
  (addrinfo_s_allocate): ditto.
  (IS_ADDRINFO): ditto.
  (check_addrinfo): ditto.
  (get_addrinfo): ditto.
  (alloc_addrinfo): ditto.
  (init_addrinfo): ditto.
  (addrinfo_new): ditto.
  (call_getaddrinfo): ditto.
  (init_addrinfo_getaddrinfo): ditto.
  (make_inspectname): ditto.
  (addrinfo_firstonly_new): ditto.
  (addrinfo_list_new): ditto.
  (init_unix_addrinfo): ditto.
  (ai_get_afamily): ditto.

* ext/socket/mkconstants.rb: generate intern_protocol_family,
  intern_socktype and intern_ipproto.

  [ruby-dev:37692]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21371 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-07 14:20:15 +00:00
akr 0cd078e358 don't get a name for anonymous Unix socket.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21346 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-05 13:40:42 +00:00
duerst deeade6f3e * enc/trans/gbk.trans, gbk-tbl.rb:
new Chinese GBK transcoding (from Yoshihiro Kambayashi)

* test/ruby/test_transcode.rb: added tests for the above
  (from Yoshihiro Kambayashi)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21315 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-04 09:12:14 +00:00
duerst fecce9e5e5 * test/ruby/test_transcode.rb: added tests for GB2312
(from Yoshihiro Kambayashi)

* enc/trans/chinese.trans: set valid byte patterns for
  GB2312 and GB12345


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21314 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-04 08:55:04 +00:00
duerst 3bc30f0b73 * enc/trans/big5.trans, big5-tbl.rb:
new Chinese Big5 transcoding (from Yoshihiro Kambayashi)

* test/ruby/test_transcode.rb: added tests for the above
  (from Yoshihiro Kambayashi)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21313 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-04 08:40:26 +00:00
seki da3eba7551 merged r20850, r17881, r16811, r16763, r16748, r15829, r15794 and r15698 from ruby_1_8.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21286 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-03 15:36:14 +00:00
mame 1e516be711 * test/ruby/test_sleep.rb (test_sleep_5sec): stop gc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21279 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-02 14:49:58 +00:00
mame d8d5cda2d4 * test/ruby/test_process.rb (test_wait_and_sigchild): remove debug
output.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21273 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-02 13:18:57 +00:00
akr 775d5d8f03 * ext/socket/mkconstants.rb: make common prefix optional.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21269 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-02 06:33:24 +00:00
akr aa0ae0d3b6 * ext/socket/socket.c (optname_arg): defined.
(bsock_setsockopt): use optname_arg.
  (bsock_getsockopt): ditto.

* ext/socket/mkconstants.rb: generate so_optname_to_int,
  ip_optname_to_int, ipv6_optname_to_int, tcp_optname_to_int and
  udp_optname_to_int.
  more constants.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01 17:40:41 +00:00
akr 12b443d02f IPv6 test removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21259 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01 16:22:15 +00:00
akr 59556a0849 * ext/socket/socket.c (level_arg): defined.
(bsock_setsockopt): use level_arg.
  (bsock_getsockopt): ditto.

* ext/socket/mkconstants.rb: generate level_to_int.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21258 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01 16:16:08 +00:00
akr c6bbf28a9f * ext/socket/socket.c (family_arg): accept symbols as well.
(socktype_arg): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21257 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01 15:59:10 +00:00
akr f0dd0577b0 * ext/socket/socket.c (family_arg): extracted from
setup_domain_and_type.
  (socktype_arg): ditto.
  (udp_init): use family_arg.
  (sock_s_gethostbyaddr): ditto.
  (sock_s_getaddrinfo): ditto.
  (sock_s_getnameinfo): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21254 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01 15:15:31 +00:00
akr e924cabede * ext/socket/socket.c (sock_s_getnameinfo): use family_to_int.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21252 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01 12:26:57 +00:00
akr e485a566ed * ext/socket/socket.c (sock_s_getaddrinfo): use family_to_int.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21247 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01 11:47:55 +00:00
akr 0c838b4947 * ext/socket/mkconstants.rb: generate family_to_int().
* ext/socket/socket.c (setup_domain_and_type): use family_to_int.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01 07:49:31 +00:00
akr ddedc6f125 * ext/socket/socket.c (sock_s_socketpair): yield if a block is given.
(io_call_close): defined.
  (io_close): defined.
  (pair_yield): defined.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21216 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-31 15:05:16 +00:00
akr 021aaa70d6 * ext/openssl/ossl_ssl.c (ossl_ssl_read_internal): show openssl error
code in EWOULDBLOCK error.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21210 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-31 08:18:12 +00:00
akr 67d66b2652 * io.c (copy_stream_body): don't check to_io because
Zlib::GzipWriter#to_io returns the underlying IO.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21209 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-31 07:19:24 +00:00
ryan 70365e5deb Imported minitest 1.3.1 r4506.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21188 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-30 09:26:27 +00:00
yugui b3ff7eb3ef * process.c (rb_waitpid): retries waitpid when EINTR.
[ruby-core:19744].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21181 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-29 14:41:22 +00:00
matz 6bbd76a732 * random.c (rb_f_rand): type check simplified. strings are no
longer allowed for argument.  [ruby-dev:37655]

* test/ruby/test_rand.rb (TestRand::o.to_int): need override
  to_int.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21178 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-29 13:29:12 +00:00
yugui af91b42354 * lib/erb.rb (ERB): m17n of ERB. adds rdoc.
fixes #712. c.f. [ruby-dev:37516].

* lib/erb.rb (ERB::Compiler#compile): recognizes magic comments.
  returns a pair of compiled script and its script encoding.

* lib/erb.rb (ERB#set_eoutvar): make generated scripts return a
  string in correct encoding.

* lib/erb.rb (ERB#def_method): use Kernel#eval for encoding-awareness
  of the evaluated string.

* bin/erb.rb (ERB::Main.run): adds -E and -U options.
  String is no longer Enumerable.

* man/erb.1: new manapage.

* test/erb/test_erb_m17n.rb: new test case for m17n features.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21170 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-29 09:26:34 +00:00
yugui 7be399c567 merges r21134 from ruby_1_9_1 into trunk.
* test/rubygems/test_gem_command.rb
  (test_add_option_overlapping_common_and_local_options):
  follows r21066.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21150 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-29 06:18:14 +00:00
ko1 b2ad49565f * thread.c (rb_mutex_trylock): return false if Mutex owned
by current thread.  [ruby-core:20943]
* thread.c (rb_mutex_lock): check dead lock (recursive lock) here.
* test/ruby/test_thread.rb: add a test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-29 03:03:09 +00:00
akr 8cc42bc701 add a test for OpenSSL::SSL::SSLSocket#read_nonblock.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-28 16:09:59 +00:00
nobu 08b4f9138c * test/ruby/test_sprintf.rb (test_invalid): suppress warning.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21135 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-28 09:51:18 +00:00
naruse faa2987d54 * test/rubygems/test_ext_configure_builder.rb (test_self_build_fail):
Extends pattern for FreeBSD's error message.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21112 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-28 08:24:35 +00:00
ryan 1cbf898172 Imported minitest 1.3.1 r4505.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21104 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-27 20:51:23 +00:00
nobu 0c835afac0 * test/rdoc/test_rdoc_info_formatting.rb (setup, teadown): uses
mktmpdir and removes it alfter the test.

* test/cgi/test_cgi_session.rb (setup, teadown): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21101 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-27 13:41:04 +00:00
ko1 b30b998966 * vm_insnhelper.c (vm_call_method, vm_call_cfunc): use original id instead of
calling id when NODE_CFUNC or NODE_BMETHOD.
  fixes Bug #632 [ruby-core:19282].
* vm_eval.c (vm_call0, vm_call_super): ditto.
* vm_method.c (rb_add_method, rb_alias): store original id
  in nd_file field of NODE_METHOD.
* test/stringio/test_stringio.rb: add a test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21084 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-27 03:57:21 +00:00
nobu 0a23fe6572 * lib/optparse.rb (OptionParser::List#summarize): gives priority
to latter switches.  [ruby-dev:36692]

* lib/optparse.rb (OptionParser#summarize): do not append
  unnecessary line terminator.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21066 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-26 06:50:55 +00:00
naruse 20f5c2a3ba * transcode.c (str_transcode0): set encoding when String#encode was
given explicit but the same destination and source encoding.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21047 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-25 11:59:57 +00:00
akr bb4329becd * io.c (pipe_close): removed.
(pipe_yield): defined.
  (rb_io_s_pipe): use pipe_yield.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20992 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-25 09:36:40 +00:00
akr db0a659012 * io.c (flush_before_seek): check io_fflush result.
(rb_io_check_readable): ditto.
  (rb_io_flush): ditto.
  (rb_io_fsync): ditto.
  (remain_size): ditto.
  (rb_io_write_nonblock): ditto.
  (finish_writeconv): ditto.
  (fptr_finalize): ditto.
  (io_reopen): ditto.
  (rb_io_reopen): ditto.
  (copy_stream_body): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20989 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-25 07:25:06 +00:00
usa c4b30b4449 * test/ruby/test_eval.rb: add new test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20984 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-25 05:40:41 +00:00
kouji 823cfeed89 * test/readline/test_readline_history.rb: check the encoding that
is in the Readline::HISTORY.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-24 16:11:01 +00:00
kouji bd877eb7af * test/readline/test_readline_history.rb: did not check the
encoding that is in the Readline::HISTORY. I will fix it.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20972 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-24 16:03:25 +00:00
akr 6fcaf92943 * strftime.c (rb_strftime): use locale insensitive functions for tr_TR
locale.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-23 10:13:11 +00:00
akr fbcc23a8fa * io.c (rb_io_inspect): show fd number if there is no pathname.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20940 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-23 07:24:13 +00:00
akr 3a7daf882b * io.c (rb_io_s_pipe): IO.pipe can take a block.
(pipe_close): new function.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20916 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-22 12:27:26 +00:00
kouji 1cf4744a83 * test/readline/test_readline_history.rb: checked encoding.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20901 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-21 05:49:18 +00:00
kouji 67cd02b40c * test/readline/test_readline.rb
(TestReadline#test_some_characters_methods): checked encoding.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20896 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-21 04:51:43 +00:00
nobu 5ad1f1d3cd * lib/optparse.rb (SPLAT_PROC): fix for regexp. [ruby-dev:37514]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20895 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-21 03:23:19 +00:00
xibbar 52d481d8de * lib/cgi/session.rb: fix bug for ignore session_id option.
report from [ruby-core:18635], [Bug #572]

* lib/cgi/core.rb: use Encoding#find when encoding set.

* test/cgi/test_cgi_session.rb: test for session_id specified.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20861 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-18 12:20:13 +00:00
kazu 3d923f01bf * test/bigdecimal/test_bigdecimal.rb (TestBigDecimal#test_hash):
shut up warning.  see [ruby-dev:37437]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20805 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-17 02:40:53 +00:00
yugui a34a6b3388 * test/ruby/test_metaclass.rb: removed codes for my debugging.
sorry. [ruby-dev:37470]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20802 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-17 00:58:10 +00:00
akr e27fbfbc98 * ext/pty/pty.c (getDevice): add nomesg argument.
(get_device_once): add nomesg argument.  chmod slave tty to 0600
  if nomesg.  more error tests.
  (no_mesg): new function.
  (pty_open): make slave tty's mode 0600.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20795 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-16 11:39:17 +00:00
akr 56709edc89 * ext/pty/extconf.rb: check posix_openpt.
* ext/pty/pty.c (get_device_once): use posix_openpt if available.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20793 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-16 10:49:12 +00:00
ryan c6f32ff88b Removed json/runner.rb with permission from florian frank. it was serving no purpose
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20769 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-15 22:13:29 +00:00
akr ca4798c4c3 add tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20767 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-15 15:36:26 +00:00
akr 005e756537 * ext/pty/pty.c (get_device_once): use DEVICELEN instead of
sizeof SlaveName.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20759 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-15 12:25:03 +00:00
yugui 3a5c0bbcb5 * test/ruby/test_metaclass.rb: new test case for metaclass hierarchy.
* class.c (make_metametaclass): new function. extracted from
  rb_make_metaclass.

* class.c (rb_make_metaclass): uses make_metametaclass when called for a
  metaclass.

* class.c (rb_singleton_class): creates a meta^(n+2)-class in
  addition to a meta^(n+1)-class when called for a meta^(n)-class.
  This is because the returned meta^(n+1) class must acts as an instance of 
  Class, metaclass of Class, ..., meta^(n+1)-class of Class,
  Module, metaclass of Module, ..., meta^(n+1)-class of Module,
  Object, metaclass of Object, ..., meta^(n+2)-class of Object,
  BasicObject, metaclass of BasicObject, ..., meta^(n+2)-class of
  and BasicObject even when Class, Module, Object or BasicObject has
  not have its meta^(i)-class yet.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20747 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-15 06:23:43 +00:00
mame 19f45f853c * bignum.c (rb_big_mul): faster multiplication by Karatsuba method and
twice faster square than normal multiplication.

* random.c (rb_rand_internal): used by Bignum#*.

* test/ruby/test_bignum.rb: add some tests for above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20733 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-14 03:59:02 +00:00
akr 529ad093d4 new file.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20732 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-14 03:52:13 +00:00
yugui ada58fe013 * test/ruby/enc/test_utf16.rb: feature changed in r20626.
follows it.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20719 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-13 05:26:37 +00:00
yugui a6c69a7d35 * test/ruby/test_m17n_comb.rb: feature changed in r20626.
follows it.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-13 04:45:56 +00:00
yugui dd2a86cf11 * test/ruby/test_m17n.rb: feature changed in r20626.
follows it.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20714 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-13 03:49:46 +00:00
ryan ac6024f522 Imported minitest 1.3.2 r4503.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20686 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-13 00:22:31 +00:00
kouji 8b123714e2 * ext/readline/readline.c
(readline_s_get_completion_append_character): uses locale
  encoding but not ASCII-8BIT.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20680 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-12 16:13:11 +00:00
kou 876e1b87e7 * lib/rss/maker.rb, lib/rss/maker/0.9.rb, lib/rss/maker/base.rb:
RSS::Maker.[] returns a maker class corresponds to passed version.

* test/rss/test_maker_*.rb: add tests for RSS::Maker.[].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20643 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-11 12:06:26 +00:00
akr 240378856b * test/ruby/test_io.rb (test_dup_many): extracted from test_dup.
test in ruby subprocess.  at asakusa.rb.  [ruby-dev:35648]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20630 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-11 10:25:05 +00:00
matz 8249d674fd * test/ruby/test_bignum.rb (TestBignum#test_convert): remove
platform dependent call of Process.wait.  coverage should be
  accomplished by other method.  [ruby-dev:36062]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20621 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-11 01:26:59 +00:00
akr 3266ec1658 * lib/open3.rb (Open3.pipeline_start): return an array of threads if a
block is not given.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20618 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-10 17:24:42 +00:00
duerst a28fdecda7 * enc/trans/single_byte.trans, cp850-tbl.rb, cp852-tbl.rb,
cp855-tbl.rb, koi8-r-tbl.rb, koi8-u-tbl.rb, tis-620-tbl.rb:
  new single-byte transcodings (from Yoshihiro Kambayashi)

* test/ruby/test_transcode.rb: added tests for the above
  (from Yoshihiro Kambayashi), small cosmetic fixes


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20599 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-09 09:39:25 +00:00
nobu 92e0f99d37 * pack.c (pack_pack): fixed length for odd length string.
[ruby-dev:37283]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20580 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-08 09:31:44 +00:00
akr c0264efadd * lib/open3.rb (Open3.capture3): renamed from Open3.poutput3.
(Open3.capture2): renamed from Open3.poutput2.
  (lOpen3.capture2e): renamed from Open3.poutput2e.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20569 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-07 08:45:31 +00:00
yugui 4b983b90c4 * pack.c (pack_pack): 'u0' is not special differently from 'm0'.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20564 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-06 08:55:57 +00:00
xibbar 8c07972702 fix for 1.8's
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20545 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-05 12:09:49 +00:00
akr 415e2cbd88 * lib/open3.rb (Open3.pipeline_start): new method.
(Open3.pipeline): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20544 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-05 10:07:13 +00:00
nobu f6d18c3f2a * iseq.c (rb_iseq_parameters): proc arguments are always optional.
* proc.c (get_proc_iseq, rb_proc_parameters): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20538 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-05 04:05:48 +00:00
usa 0b10c32079 * test/ruby/test_process.rb: skip some tests on win32.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20530 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-04 16:39:55 +00:00
akr bca9bf7fef * lib/open3.rb (Open3.poutput3): new method.
(Open3.poutput2): ditto.
  (Open3.poutput2e): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20516 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-04 14:24:54 +00:00
tadf a821725ab0 * test/ruby/test_complex.rb: added some tests.
* test/ruby/test_rational.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20514 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-04 13:14:25 +00:00
akr 87c7905bdc * lib/open3.rb (Open3.popen3): simplified.
(Open3.popen_run): extracted from Open3.popen3.
  (Open3.popen2): new method.
  (Open3.popen2e): new method.
  (Open3.pipeline_rw): new method.
  (Open3.pipeline_r): new method.
  (Open3.pipeline_w): new method.
  (Open3.pipeline_run): new private method.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20512 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-04 10:58:32 +00:00
akr a112ec787a * process.c (check_exec_fds): resolve cascaded child fd reference.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20511 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-04 10:17:34 +00:00
matz 57f7d8c2cd * ext/openssl/ossl_ssl.c (ossl_ssl_read_nonblock):
OpenSSL::SSL::SSLSocket should implement read_nonblock.  a patch
  from Aaron Patterson in [ruby-core:20277].  fix: #814 [ruby-core:20241]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20493 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-04 07:21:10 +00:00
tadf ef38a43c50 * complex.c (nurat_{to_s,inspect}): provides better representation
for in-finite imag part.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-03 16:43:01 +00:00
akr 30b8f1ee2b * process.c (EXEC_OPTION_DUP2_CHILD): defined.
(check_exec_redirect_fd): check :in, :out and :err.
  (check_exec_redirect): check [:child, fd].
  (check_exec_fds): validate EXEC_OPTION_DUP2_CHILD array.
  (run_exec_dup2_child): new function.
  (rb_run_exec_options): call run_exec_dup2_child.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20470 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-03 15:02:10 +00:00
akr ca209c80e9 * process.c (check_exec_redirect): accept :in, :out, :err as redirect
target.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20467 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-03 12:33:37 +00:00
tadf e98e384be0 revert.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-03 12:19:05 +00:00
mame 7fd3ac4895 * test/ruby/test_rational.rb: add a test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20453 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-02 17:58:17 +00:00
mame 181ffea5e0 * test/ruby/test_range.rb: add a test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20452 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-02 17:53:48 +00:00
mame 0863013b96 * test/ruby/test_string.rb: add some tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-02 17:26:31 +00:00
akr 852b4629c1 * lib/open3.rb (Open3.popen3): merge hash options if given.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-02 10:23:48 +00:00
usa a01e1cfb5b * test/socket/test_tcp.rb (test_recvfrom): already can run on mswin32.
* test/socket/test_tcp.rb (test_recvfrom, test_encoding): use IP address instead
  of host name.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-02 06:14:37 +00:00
usa 14c06bd441 * test/socket/test_tcp.rb (test_recvfrom, test_encoding): shouldn't assume
that th is not nil.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-02 06:02:23 +00:00
nobu a918afe05e * cont.c (rb_fiber_start): calls with exact argument number.
[ruby-core:20088]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20432 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-01 03:00:48 +00:00
yugui 1fe2fae259 * test/ruby/test_regexp.rb (TestRegexp#test_parse_curly_brace):
now accepts quantifier on anchrs agian by r20391.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20398 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-30 09:04:51 +00:00
nobu 46e3b0fe7b * iseq.c (simple_default_value): extracts simplest default
argument value.

* iseq.c (rb_iseq_parameters): returns parameter list.

* proc.c (get_proc_iseq, get_method_iseq): handles ifunc and
  bmethod.

* proc.c (rb_proc_parameters, rb_method_parameters): added
  Proc#parameters and Method#parameters.  [ruby-core:19759]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20384 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-28 04:19:37 +00:00
matz 4d3f3af836 * ext/bigdecimal/bigdecimal.c (BigDecimal_DoDivmod): bigdecimal
division (including modulo) should raise ZeroDivisionError as
  integer division. [incompatible]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20383 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-27 17:20:08 +00:00
matz 90add5db45 * numeric.c (flodivmod): floating point division should raise
ZeroDivisionError as integer division. [incompatible]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20381 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-27 16:01:54 +00:00
matz 0434b0f098 * ext/bigdecimal/bigdecimal.c (VpException): bigdecimal zero
division should raise FloatDomainError if mode
  VP_EXCEPTION_ZERODIVIDE is set.  [ruby-dev:37204]

* ext/bigdecimal/bigdecimal.c (BigDecimal_mode): should handle
  VP_EXCEPTION_ZERODIVIDE.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20366 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-26 14:04:58 +00:00
matz a426373520 * ext/bigdecimal/bigdecimal.c (VpAlloc): avoid ALLOCA_N() to avoid
segmentation fault caused by (insanely) long decimal values.
  [ruby-dev:37189] fix #794

* ext/bigdecimal/bigdecimal.c (BigDecimal_dump, BigDecimal_to_i,
  BigDecimal_to_f, BigDecimal_to_s, BigDecimal_split,
  BigDecimal_inspect): ditto.

* ext/bigdecimal/bigdecimal.c (VpToString): small performance
  improvement.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20359 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-25 18:02:42 +00:00
tadf 4671724697 * lib/date/format.rb (strftime): ignores '_' flag for %[LN].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20347 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-24 16:26:00 +00:00
shugo 361a713f96 * strftime.c (rb_strftime): The # flag should work with %a, %A, %b,
%B, and %h.  [ruby-dev:37162]
* test/ruby/test_time.rb (test_strftime): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20342 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-24 14:29:37 +00:00
shugo bf1d53e2e0 * strftime.c (rb_strftime): A width specifier for %t and %n should
work.  [ruby-dev:37160]
* test/ruby/test_time.rb (test_strftime): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20340 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-24 14:01:47 +00:00
shugo aa498028b2 * strftime.c (rb_strftime): The precision of %0N should be 9.
[ruby-dev:37156]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20339 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-24 13:10:07 +00:00
shugo 32aed81046 * strftime.c (rb_strftime): The default precision should be 1, not
0.  [ruby-dev:37155]
* test/ruby/test_time.rb (test_strftime): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20338 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-24 12:42:45 +00:00
tadf 1537855833 * lib/date.rb (inspect): changed again.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20337 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-24 10:55:00 +00:00
yugui 31c8291618 * test/ruby/test_method.rb (TestMethod#test_default_accessibility):
fixed a wrong expectation in the test case.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20317 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-22 14:41:55 +00:00
yugui b53d7429fc merges r20309 from ruby_1_9_1 to trunk.
* test/cgi/test_cgi_session.rb (setup, teardown): uses a temporary
  directory for testing session stores.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20316 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-22 12:36:19 +00:00
yugui ab8114f481 * test/ruby/test_method.rb (test_default_accessiblity): test case for
[ruby-dev:37124].



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20315 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-22 12:34:21 +00:00
matz d37f45cef9 * ext/syck/rubyext.c (rb_syck_mktime): return DateTime for a value
out of range of Time.   [ruby-core:19919]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20286 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-19 08:49:51 +00:00
seki 9b3e241bfc fixed fails occasionally [ruby-dev:37119]. thanks, shinichiro.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20276 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-18 18:05:28 +00:00
nobu b7ac5b1262 * lib/logger.rb (ProgName): fixed for svn, based on a patch from
Nobuhiro IMAI at [ruby-dev:37108].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-18 07:18:29 +00:00
yugui f2077294f1 * lib/rubygems/timer.rb: removed svn:executable.
* lib/rubygems/validator.rb: ditto
* test/cgi/test_cgi_modruby.rb: ditto
* test/cgi/test_cgi_multipart.rb: ditto
* test/cgi/test_cgi_session.rb: ditto: ditto
* test/cgi/testdata/file1.html: ditto
* test/cgi/testdata/small.png: ditto
* test/cgi/testdata/large.png: ditto
* test/cgi/test_cgi_core.rb: ditto
* test/cgi/test_cgi_header.rb: ditto
* test/cgi/test_cgi_cookie.rb: ditto
* test/cgi/test_cgi_tag_helper.rb: ditto



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20215 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-11 15:09:21 +00:00
tadf b0e3af4922 * lib/date.rb (inspect): reverted the previous change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20209 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-11 11:42:46 +00:00
duerst 0d93d8125e * test/ruby/test_transcode.rb: unnecessary setup method
(setup_really_needed?) removed


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20179 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-11 05:42:49 +00:00
duerst 831e804388 * enc/trans/single_byte.trans, macgreek-tbl.rb, macroman-tbl.rb,
macromania-tbl.rb, macturkish-tbl.rb, macukraine-tbl.rb,
  ibm437-tbl.rb, ibm852-tbl.rb, ibm855-tbl.rb, ibm857-tbl.rb,
  ibm860-tbl.rb, ibm861-tbl.rb, ibm862-tbl.rb, ibm863-tbl.rb,
  ibm865-tbl.rb, ibm866-tbl.rb, ibm869-tbl.rb, ibm775-tbl.rb:
  new single-byte transcodings (from Yoshihiro Kambayashi)

* test/ruby/test_transcode.rb: added tests for the above
  (from Yoshihiro Kambayashi)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20178 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-11 05:26:20 +00:00
tadf 524c766d19 trivial changes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20177 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-10 22:59:47 +00:00
tadf e8c67503ea * lib/date.rb (inspect): changed the format.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20175 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-10 22:57:01 +00:00
knu fd93c80482 * test/sdbm/test_sdbm.rb (TestSDBM#test_index): Reflect the method
name change from #index to #key and remove a duplicated test
  method.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20170 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-10 08:38:20 +00:00
xibbar 9b139fe589 fix test for 1.8
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20161 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-08 15:38:48 +00:00
xibbar 4b9e885000 fix debug code
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20157 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-08 14:56:38 +00:00
xibbar 26862c00e9 * lib/cgi/session.rb (FileStore): use marshalized data.
* test/cgi/session_dir: add a session directory in test.
* test/cgi/test_cgi_session.rb: add a test. 


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20156 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-08 14:52:59 +00:00
matz 703fb3d9be * ext/gdbm/gdbm.c (fgdbm_index): make #index warn like Hash.
[ruby-dev:37039]

* ext/sdbm/init.c (Init_sdbm): typo fixed.  [ruby-dev:37039]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-08 03:15:28 +00:00
matz c82769f227 * ext/dbm/dbm.c (fdbm_index): make #index warn like Hash.
* ext/dbm/dbm.c (fdbm_key): new method.

* ext/sdbm/init.c: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20146 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-07 22:07:05 +00:00
matz 1343680398 * lib/yaml/rubytypes.rb: support Rational and Complex as 1.8
does.  a patch from Hiroshi Moriyama in [ruby-dev:36899].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20126 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-06 22:36:07 +00:00
shugo a324863b99 * lib/rexml/entity.rb (unnormalized): do not call
document.record_entity_expansion if document is nil.
  see <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=502535>.
  Thanks, Naohisa Goto.
* test/rexml/test_document.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20120 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-06 17:03:40 +00:00
suke 696e6a9b76 * ext/win32ole/win32ole.c (fole_s_connect, fole_initialize,
folevariant_initialize): check argument type of WIN32OLE.connect,
  WIN32OLE.new, WIN32OLE_VARIANT.new.

* test/win32ole/test_win32ole.rb (test_s_new_exc, test_s_connect_exc):
  ditto.

* test/win32ole/test_win32ole_variant.rb (test_s_new_exc): ditto.

* test/win32ole/test_win32ole_method.rb: add assertion of
  WIN32OLE_METHOD.new.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20113 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-06 12:38:49 +00:00
takano32 a3fb952a4f * test/zlib/test_zlib.rb(test_readchar): compare in same type.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20104 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-03 23:00:40 +00:00
suke 1dead12e7f * test/win32ole/test_win32ole_event.rb: rename test class.
* test/win32ole/test_win32ole_variant_outarg.rb: add in order
  to use ADO instead of Internet Explorer.
  remove test/win32ole/test_win32ole_variant_with_ie.rb.

* test/win32ole/orig_data.csv: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20091 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-02 15:41:02 +00:00
suke f35fb72f44 * test/win32ole/test_err_in_callback.rb: add teardown.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-02 14:10:46 +00:00
suke 2d45869c76 * ext/win32ole/win32ole.c (ole_event_free): invoke IConnectionPoint::Unadvise
before invoking IConnectionPoint::Release.

* test/win32ole/test_win32ole_event.rb, test/win32ole/err_in_callback.rb,
  test/win32ole/test_err_in_callback.rb: Use ActiveX Data Object
  Library instead of InternetExplorer.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20089 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-02 13:22:42 +00:00
drbrain af0221e728 Don't require rubygems/defaults from gem_prelude.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20085 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-31 22:27:35 +00:00
yugui 7ac0beaeea * test/ruby/test_array.rb (test_array_subclass) test for r20076.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20077 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-31 09:57:45 +00:00
duerst d37df9fb13 * enc/trans/single_byte.trans, maccroatioan-tbl.rb,
maccyrillic-tbl.rb, maciceland-tbl.rb: new single-byte
  transcodings (from Yoshihiro Kambayashi)

* test/ruby/test_transcode.rb: added tests for the above
  (from Yoshihiro Kambayashi)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-31 09:07:21 +00:00
nobu 04e94c6ec8 * ruby.c (process_options): delays setting safe level.
[ruby-dev:36997]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20067 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-30 23:16:16 +00:00
mame e2cb0b9766 * array.c (rb_ary_sort_bang): remove SEGV when replacing array with
embedded one during sort.

* test/ruby/test_array.rb (test_sort!): add tests for above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20048 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-29 17:24:44 +00:00
mame 143f059bcd * test/ruby/test_array.rb: add some tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20047 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-29 16:46:08 +00:00
matz 86ade65104 * io.c (rb_io_rewind): should reset fptr->readconv if it's
available.

* io.c (more_char): clear readconv at EOF.

* test/ruby/test_file.rb: should not read after EOF.  use rewind
  instead.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20045 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-29 16:40:05 +00:00
mame 85b6c69e82 * test/ruby/test_array (test_permutation): add a test that replaces
array during permutation.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20035 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-29 16:16:53 +00:00
mame 224471fd57 * test/webrick/utils.rb (start_server): provide a reference to log of
webrick.

* test/webrick/test_httpproxy.rb, test/webrick/test_httpauth.rb,
  test/webrick/test_cgi.rb, test/webrick/test_httpserver.rb,
  test/webrick/test_server.rb, test/webrick/test_filehandler.rb: use
  webrick log as an assertion message.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-29 11:48:35 +00:00
nobu 3056933cc0 * test/ruby/test_array.rb (test_pack): use utf-8.
* test/ruby/test_pack.rb (test_pack_U): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20022 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-29 09:40:38 +00:00
yugui d8c68028fa * test/ruby/test_proc.rb: filled all patterns for testing
vm_yield_setup_args.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20003 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-28 14:18:10 +00:00
usa 45ea81a492 * test/ruby/test_require.rb (test_require_too_long_filename): too long
commandline may be rejected by OS.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19998 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-28 12:03:14 +00:00
usa 7994aaa1f3 * test/ruby/test_io_m17n.rb (test_getc_invalid3): should set binmode if enc is
not compatible with ASCII.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19997 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-28 12:01:46 +00:00
usa 68b9bc4201 * test/ruby/test_io.rb (test_sysopen): should specify the mode of IO::for_fd
if F_GETFL is not available.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19995 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-28 11:23:52 +00:00
usa 04e19b5587 * test/ruby/test_io.rb (test_copy_stream, test_copy_stream_socket): skip some
tests if there isn't IO#nonblock=.
* test/ruby/test_io.rb (test_close_on_exec): skip if there isn't
  IO#close_on_exec=.
* test/ruby/test_io.rb (test_bytes, test_readbyte): depend on binmode.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19992 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-28 09:41:30 +00:00
usa fdc4287e87 * test/ruby/test_file.rb (test_*_extended_file): forgot to set mode.
* test/ruby/test_file.rb (test_para_gets_extended_file): output file sould be
  binmode.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-28 09:34:37 +00:00
yugui e3e645f43a merged r19975 and r19978 from ruby_1_9_1 into trunk.
* gem_prelude.rb: considers --program-suffix and prefix configure
  options.
* lib/rubygems/defaults.rb: ditto.
* test/rubygems/test_gem.rb (@default_dir_re): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19988 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-28 08:21:50 +00:00
usa 993a9404cb * test/ruby/test_file.rb (test_*_extended_file): test in default/text/binary
mode.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-28 05:20:24 +00:00
usa 6714f687e3 * test/ruby/test_file.rb (test_each_char_extended_file,
test_getbyte_extended_file): add tests.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19984 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-28 03:52:43 +00:00
usa d324a46784 * test/ruby/test_argf.rb (test_readpartial2): readpartial works just like
binmode, so input of it should be binmode'ed.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-28 03:26:32 +00:00
usa ed276bfc89 * test_cgi_multipart.rb (_prepare): tempfile should be binmode.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-28 02:44:09 +00:00
yugui a1645803bb * vm_insnhelper.c (vm_yield_setup_args): supports optional parameters.
Fixed [ruby-core:19503].

* vm_insnhelper.c (vm_yield_setup_block_args): a new function. extracted
  from vm_yield_setup_args.

* vm_insnhelper.c (vm_yield_setup_block_args_complex): ditto.

* test/ruby/test_proc.rb: added tests for arguments on a Proc from
  Kernel#proc called.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19968 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-27 13:35:46 +00:00
nobu 85101b7625 * test/ruby/test_argf.rb (test_{argf,lineno,lineno2}): don't repeat
comments and expected results.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19966 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-27 07:30:56 +00:00
nobu 782f3bd3f9 * io.c (argf_init): initial value of $. should be 0.
see [ruby-dev:36937].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19964 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-27 06:55:06 +00:00
yugui 1a863754fa * test/minitest/test_mini_test.rb
(test_assert_raises_triggered_different): the test failed when a
  file path in the backtrace contontains something except [\w\/\.],
  e.g. hyphen, Japanese characters or backslash.

* test/minitest/test_mini_test.rb
  (test_assert_raises_triggered_subclass): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19963 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-27 06:43:13 +00:00
yugui a1cef99541 * test/minitest/test_mini_test.rb: fixed that r19958 made
test-all fail when the ruby was built at $(srcdir).

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19962 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-27 06:34:23 +00:00
yugui 0a88cb504b * test/ruby/envutil.rb: reverted the changeset 19948 because it
concealed unexpected behaviours of ruby.

* test/ruby/test_io.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19961 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-27 03:13:54 +00:00
yugui afea4a4995 * test/minitest/test_mini_test.rb (test_filter_backtrace):
fixed failure on Ruby built at out of $(srcdir).

* test/minitest/test_mini_test.rb (test_Filter_backtrace_unit_starts):
  ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19958 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-27 02:39:17 +00:00
mame 52061f4ecd * test/nkf/test_nkf.rb: add a test for [ruby-dev:36909].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19955 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-26 16:31:15 +00:00
mame 2b3f026b8a * test/json/test_json.rb: remove dependency on permutation gem.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19950 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-26 12:30:07 +00:00
nobu b98a6b7ac0 * test/ruby/envutil.rb (assert_in_out_err): disables builtin rubygems
to get rid of the interference.

* test/ruby/test_io.rb (ruby): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-26 09:42:21 +00:00
drbrain b61d8b6045 Update to RubyGems 1.3.1 r1909.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19941 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-25 22:58:43 +00:00
ryan 17358af75b Imported minitest 1.3.0 r4429. Fixes issues reported by akira and nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19940 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-25 22:38:09 +00:00
nobu 520f1372e3 * test/ruby/test_proc.rb (test_proc_args_unleashed): test for
[ruby-core:19485].

* test/ruby/test_yield.rb (test_block_args_unleashed): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-25 09:47:54 +00:00
jeg2 dfda5877ca * lib/csv.rb: Fixed a bug in read_to_char() that would slurp
whole files if the encoding was invalid.  It will now read
  up to 10 bytes ahead to find a valid character boundary or
  give up.  [ruby-core:19465]
* test/csv/test_features.rb, test/csv/test_table.rb, test/csv/test_row.rb:
  Loosened some tests to check for a compatible? Encoding instea
  of an exact Encoding.  [ruby-core:19470]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19931 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-25 00:54:38 +00:00
drbrain 7222e82a8b Import RDoc 2.2.2 r192
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-24 23:05:28 +00:00
mame f7d4df50c0 * test/ruby/test_array.rb (test_sample): add tests for size of
returned array and randomness.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-24 14:01:21 +00:00
xibbar b1c14f8fbb * lib/cgi/html.rb: allow symbolized key.
* test/cgi/test_cgi_tag_helper.rb: add a test.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19919 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-24 12:10:27 +00:00
xibbar 23ed2fcc31 fix test for 1.8
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-24 11:05:39 +00:00
matz 9afe0278b3 * test/ruby/test_array.rb (TestArray#test_join): should restore
global variable after the test.  [ruby-dev:36896]

* test/ruby/test_hash.rb (TestHash#test_to_s): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-24 09:25:05 +00:00
xibbar 86560b12ee * lib/cgi/core.rb (read_multipart): change field value as String
from StringIO of Tempfile when multipart parse without file field.
  add files method that can uploaded files. [ruby-dev:36547] 

* test/cgi/test_cgi_multipart.rb: fix the test for core.rb.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-24 07:25:53 +00:00
kazu 2169d5d3c6 * test/ruby/test_signal.rb (TestSignal#test_exit_action): Thread
may terminate before sysread. [ruby-dev:36835]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19902 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-24 01:28:32 +00:00
matz 4a3f2a7bc5 * string.c (rb_external_str_new_with_enc): no implicit strlen call.
[ruby-dev:36854]

* string.c (rb_external_str_new_cstr): new function to create
  string from external NUL terminated C string.

* string.c (rb_locale_str_new_cstr): ditto.

* ext/readline/readline.c: now use rb_locale_str_new_cstr().

* test/sdbm/test_sdbm.rb (TestSDBM#test_delete_with_block):
  deleted key to the block may be a copy of specified key.

* test/dbm/test_dbm.rb (TestDBM#test_delete_with_block): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-22 05:55:22 +00:00
seki 87fa1cdfdb Fixed test failures [ruby-dev:36837].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19875 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-21 15:32:35 +00:00
matz 16549e33da * ext/stringio/stringio.c (strio_write): should convert writing
string to the encoding of the buffer.

* hash.c (rb_any_hash): typo fixed.

* ext/zlib/zlib.c (rb_gzwriter_write): oops, IO string conversion
  need to be done by to_s.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19874 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-21 14:14:13 +00:00
matz 42a6550027 * ext/zlib/zlib.c (rb_gzwriter_write): conversion should be done
using to_str, not to_s.

* ext/zlib/zlib.c (rb_gzwriter_write): need proper conversion
  according to gz encoding.

* ext/zlib/zlib.c (rb_gzreader_ungetc): convert string encoding
  before unget.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19872 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-21 12:56:48 +00:00
matz b6ef272d02 * ext/zlib/zlib.c: remove obsolete prototype macros.
* ext/zlib/zlib.c (struct gzfile): add encoding field to gzfile
  structure.

* ext/zlib/zlib.c (rb_gzreader_getc): now works on characters.

* ext/zlib/zlib.c (rb_gzreader_getbyte): new method to retrieve
  single byte.

* ext/zlib/zlib.c (rb_gzreader_readbyte): ditto.

* ext/zlib/zlib.c (rb_gzreader_each_byte): renamed from each_char

* ext/zlib/zlib.c (rb_gzreader_ungetc): allow unget strings.

* ext/zlib/zlib.c (rb_gzreader_ungetbyte): renamed from ungetc.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-21 09:18:34 +00:00
nobu 5225f2c143 * ext/iconv/iconv.c (strip_glibc_option, map_charset): check if
encoding is a string.  based on the patch by Hiroshi Moriyama at
  [ruby-dev:36811].

* test/iconv/test_basic.rb (test_invalid_arguments): added tests.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19866 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-21 02:34:07 +00:00
matz e50a5bcef0 * io.c (rb_io_extract_modeenc): plain rb/wb should set ASCII-8BIT
to the external_encoding.

* io.c (rb_file_open_internal): ditto.

* io.c (NEED_WRITECONV): no conversion when the external_encoding
  is ASCII-8BIT.

* io.c (do_writeconv): skip ASCII-8BIT.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19862 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-20 16:57:19 +00:00
xibbar e46482f3d3 fix test of multipart
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-20 14:16:54 +00:00
akr d4e0abcec9 * test/runner.rb: search srcdir/test/arg at first to find test/ruby
directory when "ruby" is specified.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19853 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-20 00:48:24 +00:00
akr 8fe3d0285f * lib/test/unit.rb (Test::Unit.setup_argv): call given block for
filtering files.

* test/runner.rb: search srcdir/test/arg, srcdir/arg.

* bin/testrb: show usage if no files given.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-19 15:59:35 +00:00
duerst b014f1bc02 * enc/trans/single_byte.trans: adding WINDOWS-wwww encodings
(wwww = 874/1250/1251/1253/1254/1255/1256/1257)
  (contributed by Yoshihiro Kambayashi)

* enc/trans/windows-wwww-tbl.rb: 8 new files
  (contributed by Yoshihiro Kambayashi)

* test/ruby/test_transcode.rb: added test_windows_wwww
  (contributed by Yoshihiro Kambayashi)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19846 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-19 09:15:37 +00:00
jeg2 b7be78d774 * test/csv/*: Renamed tc_* files to test_* to fit in within Ruby's
testing process.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-18 15:30:24 +00:00
xibbar 54e2cb8179 add test for {SimpleDelegator, DelegateClass}#class .
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19842 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-18 15:18:49 +00:00
xibbar 679d83e6f2 add test for encoding option.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19839 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-18 14:30:47 +00:00
matz fcce99c52d * re.c (rb_reg_initialize_m): specify ARG_ENCODING_NONE instead of
ARG_ENCODING_FIXED for Regexp.new("", nil, "n").  [ruby-dev:36761]

* test/ruby/test_regexp.rb (TestRegexp#test_initialize): test
  updated.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-18 10:29:06 +00:00
matz 6b02097f79 * test/bigdecimal/test_bigdecimal.rb (TestBigDecimal#test_sqrt_bigdecimal):
test updated.  a patch from TAKANO Mitsuhiro <takano32 at jus.or.jp> in
  [ruby-dev:36736].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19820 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-17 09:17:11 +00:00
nobu 7de38fadc0 * test/rubygems/gemutilities.rb (RubyGemTestCase#build_rake_in):
get rid of interference with other tests.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-17 09:07:27 +00:00
shugo 5545c5aafa * ext/socket/socket.c (init_sock): sockets should be binmode.
* test/socket/test_tcp.rb (test_encoding): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19816 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-17 02:50:43 +00:00
matz 4709e330cf * ruby.c (proc_options): no warning when default_external already
set by -E.

* test/ruby/test_rubyoptions.rb (TestRubyOptions#test_rubyopt):
  put -K after -E to set script encoding.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19811 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-16 22:21:09 +00:00
akr c69e178f0c add an assertion.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19808 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-16 15:35:37 +00:00
akr 0cda4bb3bf * io.c (rb_io_binmode): reset encoding conversion.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19807 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-16 15:25:25 +00:00
akr 0ebf9b1763 * lib/test/unit: removed test/unit.
* lib/test/unit.rb: new compatibility layer using minitest.

* bin/testrb: use above.

* test/runner.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19800 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-16 13:55:09 +00:00
matz f71b2c94dc * test/ruby/test_transcode.rb (TestTranscode#test_errors):
String#encode now works without any argument. [ruby-dev:36740]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19796 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-15 21:26:59 +00:00
ryan 7370c38456 Disable minitest autorunner and run manually in order to get test/unit fork/signal tests to not trigger minitest multiple times
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19789 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-15 04:16:28 +00:00
akr 4dbc8e2454 add test for %B.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19785 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-14 14:08:36 +00:00
duerst 48a303c027 * enc/trans/single_byte.trans: added windows-1252
* enc/trans/windows-1252-tbl.rb: new file
  (contributed by Yoshihiro Kambayashi)

* tool/transcode-tblgen.rb: listed windows-1252 as '1byte'

* test/ruby/test_transcode.rb: added test_windows_1252
  (contributed by Yoshihiro Kambayashi)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19778 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-14 04:37:10 +00:00
kazu 9639bf54ec * test/ruby/test_variable.rb (TestVariable#test_variable): add
a test of [ruby-dev:36698].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19777 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-14 03:23:57 +00:00
kazu 0e0d05d5f4 * lib/net/pop.rb: check for invalid APOP timestamp. (CVE-2007-1558)
[ruby-dev:36631]

* test/net/pop/test_pop.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19776 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-14 02:22:46 +00:00
suke 80a5a3f9dc * ext/win32ole/win32ole.c (load_conv_function51932): support
CP51932 on cygwin and mingw32. thanks to arton.

* test/win32ole/test_win32ole.rb (test_cp51932): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19767 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-13 00:03:11 +00:00
suke e64453aa69 * ext/win32ole/win32ole.c (set_ole_codepage, ole_cp2encoding,
ole_wc2mb, ole_vstr2wc, ole_mb2wc): support CP51932 (only mswin32).

* test/win32ole/test_win32ole.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-12 09:06:45 +00:00
jeg2 7d3d353558 * lib/csv/csv.rb: Added support for Encoding::default_internal.
* lib/csv/csv.rb:  Switched to new Hash syntax.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19751 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-10 15:09:34 +00:00
ryan 8673d9a5a8 Fixed missing test/unit.rb, bad svn merge. Rolled back test/runner.rb
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19743 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-10 06:15:29 +00:00
ryan 176fda7c02 removed miniunit's tests
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-10 01:40:24 +00:00
ryan 7ebbb3871e Added minitest 1.3.0
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-10 01:18:03 +00:00
mame 270f2f15be * test/ruby/test_module.rb (test_remove_class_variable): add a test
for Class#remove_class_variable.

* test/ruby/test_object.rb (test_remove_instance_variable): add a test
  for Object#remove_instance_variable.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19728 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-09 13:16:07 +00:00
naruse 1339a862e5 * add test for Encoding#names.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-09 07:33:55 +00:00
akr 43f77aaf1a revert previous commit.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-08 13:13:35 +00:00
akr d245085630 add an assertion.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-08 10:06:43 +00:00
tadf 2bf7d240b8 * lib/date.rb (today,now): should produce own instances.
[ruby-talk:317020]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-07 15:08:42 +00:00
xibbar ddf88ea80b * lib/cgi/core.rb (CGI::QueryExtension::initialize_query): fix the
condition.

* test/cgi/test_cgi_core.rb: bug fix encoding.
  thaks to TAKANO Mitsuhiro <takano32 at jus.or.jp> .

* test/cgi/test_cgi_multipart.rb: temporary comment in.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19702 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-06 07:53:58 +00:00
matz 5e9cfca2d4 * test/ruby/test_module.rb (TestModule#test_mod_constants): should
not depend on global Module constants.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-06 03:49:17 +00:00
matz f4d37a3ff4 * test/ruby/test_module.rb (TestModule#_wrap_assertion): add
definition.  is this really needed?

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-06 03:46:11 +00:00
matz f2f2cd5bc6 * string.c (rb_str_comparable): string comparison should be
transitive.  [ruby-dev:36484]

* test/ruby/test_m17n_comb.rb (TestM17NComb#test_str_eq): test
  updated.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19696 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-06 03:22:56 +00:00
matz 2de01f01a7 * test/bigdecimal/test_bigdecimal.rb (test_sqrt_bigdecimal): test
updated.  a patch from TAKANO Mitsuhiro <takano32 at jus.or.jp>
  in [ruby-dev:36669].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-06 00:02:44 +00:00
yugui a8c3540b32 * dln.c: Ruby no longer supports Windows CE.
* eval.c: ditto.

* include/ruby/defines.h: ditto.

* include/ruby/win32.h: ditto.

* ruby.c: ditto.

* strftime.c: ditto.

* win32/Makefile.sub: ditto.

* win32/win32.c: ditto.

* ext/tk/extconf.rb: ditto.

* lib/fileutils.rb: ditto.

* test/fileutils/test_fileutils.rb: ditto.

* wince/*: removed.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19681 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-04 13:48:20 +00:00
yugui 8dd118c0db * djgpp/GNUmakefile.in: removed. Ruby no longer supports djgpp.
* djgpp/README.djgpp: ditto.

* djgpp/config.hin: ditto.

* djgpp/config.sed: ditto.

* djgpp/configure.bat: ditto.

* djgpp/mkver.sed: ditto.

* ext/Setup.dj: ditto.

* dln.c: removed djgpp supports.

* file.c: ditto.

* gc.c: ditto.

* io.c: ditto.

* process.c: ditto.

* ruby.c: ditto.

* signal.c: ditto.

* util.c: ditto.

* vm_core.h: ditto.

* lib/fileutils.rb: ditto.

* lib/mkmf.rb: ditto.

* ext/socket/socket.c: ditto.

* test/fileutils/test_fileutils.rb: ditto.

* test/ruby/test_env.rb: ditto.

* test/ruby/test_path.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19678 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-04 13:25:12 +00:00
yugui bbbd9c0b7b * x68/_dtos18.c: removed. Ruby no longer supports human68k.
* x68/_round.c: ditto.

* x68/fconvert.c: ditto.

* x68/select.c: ditto.

* ext/Setup.x68: ditto.

* missing/x68.c: ditto.

* dln.c (dln_find_exe_r): removed human68k supports.
  (dln_find_1): ditto.

* lib/mkmf.rb: ditto.

* ext/extmk.rb (Init_ext): ditto.

* ext/socket/socket.c (init_sock): ditto.

* gc.c (GC_MALLOC_LIMIT): ditto.
  (rb_setjmp, rb_jmpbuf): ditto.
  (mark_current_machine_context): ditto.

* include/ruby/defines.h (PATH_ENV): ditto.

* io.c: ditto.

* process.c: ditto.

* ruby.c: ditto.

* test/ruby/test_env.rb: ditto.

* test/ruby/test_path.rb: ditto.

* LEGAL


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19677 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-04 13:12:13 +00:00
yugui 5f898e44a7 * test/mini/test_mini_test.rb: recovered. It had been temporarily removed at r19645.
* test/mini/test_mini_mock.rb: ditto.

* test/mini/test_mini_spec.rb: ditto.

* lib/test/**/*: replaced by miniunit.
  miniunit had been temporarily reverted at r19643 but now recovred.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19673 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-04 07:30:51 +00:00
xibbar 10e9b63806 * lib/cgi/core.rb (CGI::QueryExtension): delete MorphingBody
and replace like as 1.8's in multipart reading.
  see [ruby-dev:36443],
  reference from CGIAlt http://cgialt.rubyforge.org/
* test/cgi/test_cgi_multipart.rb : fixed multipart test.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19663 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-02 12:37:30 +00:00
akr bd421aa2d2 * string.c (rb_str_sub_bang): fix coderange.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-02 11:46:40 +00:00
knu c6866f8552 Back out the previous change after miniunit import.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19660 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-02 02:40:33 +00:00
mame 46321a9a31 * lib/xmlrpc, lib/rexml, test/ruby/test_array.rb,
test/ruby/test_unicode_escape.rb, test/scanf/test_scanf.rb,
  test/rss/rss-assertions.rb: fix indentation to remove warning.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19657 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-01 13:46:53 +00:00
mame a75eadef3b * test/ruby/test_settracefunc.rb (test_call, test_class): line number
was changed at r19592.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19648 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-30 15:31:06 +00:00
yugui 888072261f Temporarily removed test/mini/* because they depend on the minitest version
of test/unit, which had been reverted.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19645 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-30 14:13:33 +00:00
matz 1eeb3e151e * test/bigdecimal/test_bigdecimal.rb (test_sqrt_bigdecimal): wrong
precision specification.  a patch from TAKANO Mitsuhiro
  <takano32 at jus.or.jp> in [ruby-dev:36634].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19642 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-30 08:06:20 +00:00
ryan 852dc6d663 Updated miniunit to 4257. This cleans all my tests when run in isolation. I still have failures when run with everything else
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19639 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-30 06:57:34 +00:00
drbrain abf17f3586 Remove extra call to setup to fix ENV['HOME'] pollution
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19637 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-30 04:20:07 +00:00
ryan 64e2d46fa1 Updated to 1.3.0 r4255.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19634 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-30 04:14:09 +00:00
drbrain a42df5094d Fix some RDoc and RubyGems test interactions. Fix -n in test/runner.rb
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19633 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-29 22:48:11 +00:00
tadf d2ef66df13 delete a meaningless line.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19625 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-29 12:17:20 +00:00
tadf 9d2f9f26e8 fixed previous commit.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19623 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-29 11:53:59 +00:00
tadf 1ac57f70e8 * test/date/*.rb: imported additional tests and some adjustments.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19622 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-29 11:24:03 +00:00
suke 06df4049ed * ext/win32ole/win32ole.c (fev_initialize): initialization
handler instance variable.

* test/win32ole/test_win32ole_typelib.rb (test_s_typelibs):
  fix the warning of shadowing outer local variable.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19621 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-29 11:18:37 +00:00
mame 4e60b843c6 * test/rdoc/test_rdoc_info_formatting.rb (teardown): delete tmpdir for
test.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19619 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-28 16:52:56 +00:00
xibbar 9acff4872d * lib/cgi/html.rb (CGI::HtmlExtension::{radio_group, checkbox_group}):
can specify the false as checked or selected value.
[ruby-core:18306], [ruby-core:18307]

* test/cgi/test_cgi_tag_helper.rb: add a test.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19617 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-28 15:41:12 +00:00
xibbar 645a0eb8ec add a test
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19615 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-28 14:55:59 +00:00
tadf 0e395a6002 * test/date/*.rb: imported a date test suite ruby 1.9 limited ed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19609 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-28 10:06:13 +00:00
jeg2 bde8a01d0a * lib/csv/csv.rb: Worked around some minor encoding changes in Ruby
pointed out by Nobu.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19602 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-28 00:06:21 +00:00
nobu 61b43de755 * test/bigdecimal/test_bigdecimal.rb (test_inspect): fixed CPU bit
size dependent test.  pointed out by TAKANO Mitsuhiro <takano32 AT
  jus.or.jp>.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19586 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-26 10:01:50 +00:00
knu 571b2e17b2 * test/pathname/test_pathname.rb: Fix use of deprecated methods.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19585 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-26 09:57:33 +00:00
ryan 3ceca921fc Forgot to remove test/unit tests
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19561 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-25 21:56:30 +00:00
akr d7dbdef4e5 * transcode.c (rb_eUndefinedConversionError): renamed from
rb_eConversionUndefinedError.
  (rb_eConverterNotFoundError): renamed from rb_eNoConverterError.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19554 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-25 12:47:30 +00:00
mame 2c1c462747 * pack.c (pack_pack, pack_unpack): 'm0' format (base64) complies with
RFC 4648.  It adds no line feed when encoding, and raise ArgumentError
  if the encoded string contains non-alphabet (including CR and LF).

* lib/base64.rb: added.  This provides encoding/decoding method for
  Base64 in standard RFC 2045, Base64 in standard RFC 4648 and ``Base 64
  Encoding with URL and Filename SafeAlphabet'' in RFC 4648.

* test_pack.c, test/base64/test_base64.rb: add tests for above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19553 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-25 12:24:54 +00:00
drbrain 6cd13d6577 Fix broken merge of gemutilities, add build_rake_in as necessary
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19549 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-25 10:37:01 +00:00
drbrain d478c7a734 Update to RubyGems 1.3.0 r1891
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19547 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-25 10:13:50 +00:00
ryan c5746c45b2 I finally clued into the fact that test/unit's -x was for file level filtering... so that is not going into miniunit and instead goes into test/runner.rb
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19541 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-25 06:57:05 +00:00
drbrain 858362e761 Import RDoc 2.2.1 r185
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19537 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-25 02:43:03 +00:00
nobu 00b4a3f9c4 * test: assert_raises has been deprecated since a long time ago.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19536 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-24 17:44:39 +00:00
xibbar 0f6375be69 * test/cgi/test_cgi_multipart.rb : revert last change.
( deprecated is assert_raises. )
* test/cgi/test_cgi_core.rb      : ditto.
* test/cgi/test_cgi_header.rb    : ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19531 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-24 14:43:05 +00:00
xibbar 3c419de10b * lib/cgi/core.rb (CGI::new, CGI::{accept_charset,accept_charset=}) :
accept parameters either in a hash,
  string as a block. add the encoding validation process. 
* test/cgi/test_cgi_core.rb : test for query encoding check.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19530 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-24 14:27:53 +00:00
akr ad50e0edb9 add a test. cf. [ruby-dev:36484].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19528 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-24 12:29:01 +00:00
ryan 5b91aa9746 Allow for -v and other flags to be passed through properly
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-24 08:50:16 +00:00
ryan 1db825a047 Added ARGV filtering for tests. Allows for multiple values
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19520 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-24 08:19:12 +00:00
xibbar 2798319088 * test/cgi/test_cgi_multipart.rb : test for miniunit.
* test/cgi/test_cgi_core.rb      : ditto.
* test/cgi/test_cgi_header.rb    : ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19516 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-24 06:25:44 +00:00
ryan 8e05c69aa1 Added changes needed for miniunit. usually from using internal calls that aren't needed anymore.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19504 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-23 21:39:21 +00:00
tadf 74cb0507ab * test/ruby/test_rational2.rb: updated.
* test/ruby/test_complex2.rb: added.

	* test/ruby/test_complexrational.rb: added.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19491 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-23 12:34:35 +00:00
akr e7e5b731c2 * string.c (rb_str_casecmp): make the ordering consistent with
String#<=>.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19490 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-23 12:27:35 +00:00
tadf 8b54d5812c * complex.c (nucomp_s_canonicalize_internal): does no apply
canonicalization rule anymore.

	* rational.c (nurat_s_canonicalize_internal(_no_reduce)?): ditto.

	* complex.c: removed class method new! and new.

	* rational.c: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19483 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-23 10:33:27 +00:00
mame f398d750ea * lib/pathname.rb (each_filename): return Enumerator if no block
given.

* test/pathname/test_pathname.rb: add a test for above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19465 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-23 00:03:42 +00:00
matz 1c9b4b8c74 * test/ruby/test_env.rb (TestEnv#test_aset): test updated.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19464 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-22 23:38:04 +00:00
kouji b043284bfe * test/readline/test_readline_history.rb
(Readline::TestHistory#test_each): checked return value.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-22 17:13:25 +00:00
tadf bdf81563bf * math.c (math_log): should check argc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-21 12:53:40 +00:00
tadf 72565402d9 * complex.c (nucomp_s_canonicalize_internal): checks exactness of
imag only.

	* rational.c (nurat_s_convert): accepts non real value
	  (Rational(a,b) as a/b).

	* complex.c (nucomp_s_convert): refined.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-21 01:30:25 +00:00
jeg2 280cbe0b1f * lib/csv/csv.rb: Reworked CSV's parser and generator to be m17n. Data
is now parsed in the Encoding it is in without need for translation.
* lib/csv/csv.rb:  Improved inspect() messages for better IRb support.
* lib/csv/csv.rb:  Fixed header writing bug reported by Dov Murik.
* lib/csv/csv.rb:  Use custom separators in parsing header Strings as
  suggested by Shmulik Regev.
* lib/csv/csv.rb:  Added a :write_headers option for outputting headers.
* lib/csv/csv.rb:  Handle open() calls in binary mode whenever we can to
  workaround a Windows issue where line-ending translation can cause an
  off-by-one error in seeking back to a non-zero starting position after
  auto-discovery for :row_sep as suggested by Robert Battle.
* lib/csv/csv.rb:  Improved the parser to fail faster when fed some forms
  of invalid CSV that can be detected without reading ahead.
* lib/csv/csv.rb:  Added a :field_size_limit option to control CSV's
  lookahead and prevent the parser from biting off more data than
  it can chew.
* lib/csv/csv.rb:  Added readers for CSV attributes:  col_sep(), row_sep(),
  quote_char(), field_size_limit(), converters(), unconverted_fields?(),
  headers(), return_headers?(), write_headers?(), header_converters(),
  skip_blanks?(), and force_quotes?().
* lib/csv/csv.rb:  Cleaned up code syntax to be more inline with
  Ruby 1.9 than 1.8.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-21 00:39:03 +00:00
tadf 9467d7a024 * complex.c: an instance method image has been removed and
uses "imag" instead of "image".

	* complex.c: two instance method re and im are removed.

	* rational.c: follows the above changes.

	* include/ruby/ruby.h: ditto.

	* gc.c: ditto.

	* lib/cmath.rb: ditto.

	* lib/mathn.rb: ditto.

	* lib/complex.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-20 22:49:56 +00:00
naruse e8eb95ec33 * ext/json: import JSON v 1.1.3.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19436 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-20 17:41:14 +00:00
naruse cfadd72532 * parse.y: strings which contain only US-ASCII don't force to have
US-ASCII encoding. [ruby-dev:36400]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19434 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-19 23:09:33 +00:00
yugui 396650e0bd * prec.c: removed. Precision will be redesigned and be back again.
c.f. [ruby-dev:36352].

* common.mk (COMMON_OBJS): removed prec.o.

* inits.c (rb_call_inits): removed Init_Precision.

* numeric.c (Init_Numeric): removed inclusion of Precision.
  removed #induced_from from each class.

* rational.c: ditto.

* ext/bigdecimal/bigdecimal.c: ditto.

* lib/rdoc/knwon_classes.rb: removed the entry for Precision.

* test/ruby/test_prec.rb: removed.

* test/ruby/test_integer.rb: removed tests for Precision.

* test/ruby/test_fixnum.rb: ditto.

* test/ruby/test_float.rb: ditto.

* test/ruby/test_rational.rb: ditto.

* test/ruby/test_complex.rb: ditto.

* test/bigdecimal/test_bigdecimal.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19430 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-19 13:10:54 +00:00
akr 478b14ea4f * regexec.c (string_cmp_ic): add text_end argument.
(slow_search): call enclen with real string end.
  (map_search): add text_end argument.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19421 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-18 16:16:45 +00:00
mame e040ff5530 * ext/bigdecimal/bigdecimal.c (VpCtoV): 1E1000...000 is interpreted as
Infinity.  [ruby-dev:36159]

* ext/bigdecimal/bigdecimal.c (VpPower): Infinity ** 1 returns
  Infinity instead of NaN.  [ruby-dev:36159]

* test/bigdecimal/test_bigdecimal.rb: add tests for above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-18 13:48:21 +00:00
matz c3e2e0e53f * string.c (rb_str_comparable): make ascii8bit string to be
compatible with any other encoding.

* string.c (rb_str_cmp): use rb_str_comparable() instead of
  rb_enc_compatible() since <=> is a comparison anyway.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19418 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-18 13:17:41 +00:00
akr 081c802cb9 * grapheme cluster implementation reverted. [ruby-dev:36375]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19417 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-18 12:53:25 +00:00
matz d5ec36c486 * transcode.c: add "Error" suffix for Encoding exception classes.
a patch from Tadashi Saito <shiba at mail2.accsnet.ne.jp> in
  [ruby-dev:36346].

* encoding.c (Init_Encoding): rename EncodingCompatibilityError to
  Encoding::CompatibilityError.  [ruby-dev:36366]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-18 08:57:33 +00:00
mame 2fc415a166 * test/bigdecimal/test_bigdecimal.rb: add tests to achieve over 90%
test coverage of bigdecimal.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19401 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-17 17:22:15 +00:00
akr 635b15d662 * string.c (rb_str_casecmp): don't use rb_enc_codepoint.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19398 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-17 12:50:52 +00:00
tadf d965e99b04 * complex.c (nucomp_s_convert): accepts complex
value (Complex(a,b) as a+bi).



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19397 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-17 11:00:09 +00:00
kazu b452a519c9 * test/ruby/test_io.rb (TestIO#test_dup): avoid infinite loop.
[ruby-dev:36326]

* test/ruby/test_io.rb (TestIO#test_dup): remove needless open.
  [ruby-dev:35957]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19396 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-17 10:22:11 +00:00
xibbar 4ac4e2fbc4 * 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.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19395 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-17 04:49:28 +00:00
tadf acde7364f7 * numeric.c: provides predicate real? instead of scalar?.
* complex.c: follows the above change.

	* lib/cmath.c: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19393 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-16 22:04:19 +00:00
akr 87fba4c425 * test/ruby/test_io_m17n.rb: use __FILE__ instead of /dev/null.
[ruby-dev:36327]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19391 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-16 17:00:08 +00:00
akr a67d4fa01c * include/ruby/oniguruma.h (OnigEncodingTypeST): add precise_ret
argument for mbc_to_code.
  (ONIGENC_MBC_TO_CODE): provide NULL for precise_ret.
  (ONIGENC_MBC_PRECISE_CODEPOINT): defined.

* include/ruby/encoding.h (rb_enc_mbc_precise_codepoint): defined.

* regenc.h (onigenc_single_byte_mbc_to_code): precise_ret argument
  added.
  (onigenc_mbn_mbc_to_code): ditto.

* regenc.c (onigenc_single_byte_mbc_to_code): precise_ret argument
  added.
  (onigenc_mbn_mbc_to_code): ditto.

* string.c (count_utf8_lead_bytes_with_word): removed.
  (str_utf8_nth): removed.
  (str_utf8_offset): removed.
  (str_strlen): UTF-8 codepoint oriented optimization removed.
  (rb_str_substr): ditto.
  (enc_succ_char): use rb_enc_mbc_precise_codepoint.
  (enc_pred_char): ditto.
  (rb_str_succ): ditto.

* encoding.c (rb_enc_ascget): check length with
  rb_enc_mbc_precise_codepoint.
  (rb_enc_codepoint): use rb_enc_mbc_precise_codepoint.

* regexec.c (string_cmp_ic): add text_end argument.
  (match_at): check end of character after exact string matches.

* enc/utf_8.c (graphme_table): defined for extended graphme cluster
  boundary.
  (grapheme_cmp): defined.
  (get_grapheme_properties): defined.
  (grapheme_boundary_p): defined.
  (MAX_BYTES_LENGTH): defined.
  (comb_char_enc_len): defined.
  (mbc_to_code0): extracted from mbc_to_code.
  (mbc_to_code): use mbc_to_code0.
  (left_adjust_combchar_head): defined.
  (utf_8): use a extended graphme cluster as a unit.

* enc/unicode.c (onigenc_unicode_mbc_case_fold): use
  ONIGENC_MBC_PRECISE_CODEPOINT to extract codepoints.
  (onigenc_unicode_get_case_fold_codes_by_str): ditto.

* enc/euc_jp.c (mbc_to_code): follow mbc_to_code field change.
  use onigenc_mbn_mbc_to_code.

* enc/shift_jis.c (mbc_to_code): ditto.

* enc/emacs_mule.c (mbc_to_code): ditto.

* enc/gbk.c (gbk_mbc_to_code): follow mbc_to_code field and
  onigenc_mbn_mbc_to_code change.

* enc/cp949.c (cp949_mbc_to_code): ditto.

* enc/big5.c (big5_mbc_to_code): ditto.

* enc/euc_tw.c (euctw_mbc_to_code): ditto.

* enc/euc_kr.c (euckr_mbc_to_code): ditto.

* enc/gb18030.c (gb18030_mbc_to_code): ditto.

* enc/utf_32be.c (utf32be_mbc_to_code): follow mbc_to_code field
  change.

* enc/utf_16be.c (utf16be_mbc_to_code): ditto.

* enc/utf_32le.c (utf32le_mbc_to_code): ditto.

* enc/utf_16le.c (utf16le_mbc_to_code): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19389 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-16 16:48:05 +00:00
xibbar 49f69c3f2e * lib/cgi/core.rb: performance improvement.
From CGIAlt http://cgialt.rubyforge.org/

* test/cgi/test_cgi_header.rb: exception class fixed.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19386 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-16 13:30:05 +00:00
tadf 7c3b57b5d1 * complex.c (nucomp_marshal_{dump,load}): preserve instance
variables.

	* rational.c (nurat_marshal_{dump,load}): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19382 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-16 10:21:23 +00:00
matz 377eb14a9f * string.c ():
* string.c ():

* string.c (single_byte_optimizable): make function inline.  based
  on a patch from Michael Selig <michael.selig at fs.com.au> in
  [ruby-core:18532].

* string.c (str_modify_keep_cr): new function act as
  rb_str_modify(), but don't clear coderange

* string.c (rb_str_casecmp): specialized for single byte strings.

* string.c (rb_str_splice): preserve coderange.

* string.c (rb_str_slice_bang, rb_str_reverse_bang,
  rb_str_upcase_bang, rb_str_downcase_bang, tr_trans,
  rb_str_capitalize_bang, rb_str_swapcase_bang,
  rb_str_delete_bang, rb_str_chop_bang, rb_str_chomp_bang,
  rb_str_lstrip_bang, rb_str_rstrip_bang): ditto.

* string.c (rb_str_clear): preset coderange.

* string.c (rb_str_split_m): specialized for splitting with a
  string.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19377 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-16 00:47:20 +00:00
matz 326bf1cac3 * test/ruby/test_io.rb (TestIO#test_dup): exception should be
raised from IO#dup.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19376 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-16 00:21:32 +00:00
matz 542f76c6cd * test/ruby/test_io.rb (TestIO#test_dup): this test might fail if
there are any garbage IO objects.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19375 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-15 23:37:05 +00:00
akr 9e10d51c40 add assertion message for previous commit.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19370 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-15 16:24:39 +00:00
akr 2e0a116dd5 * re.c (rb_reg_quote): use rb_enc_mbcput to generate ASCII
incompatible characters properly.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19369 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-15 16:01:08 +00:00
naruse 5fc383f9a3 * encoding.c (rb_enc_compatible): accepst other than strings and
regexps. [ruby-core:18595]

* encoding.c (rb_enc_get_index): works files and encodings.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19357 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-15 05:17:18 +00:00
tadf 05ac51d225 * complex.c (nucomp_eql_p): new.
* complex.c (nucomp_hash): should use hash values of the elements.

	* rational.c (nurat_hash): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19355 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-15 04:20:46 +00:00
yugui 1cda105886 * test/matrix/test_matrix.rb (setup): typo.
(test_equality): misdefinition of the expected working.
  Reported by an anonymous user.
  (test_hash): added.

* test/matrix/test_vector.rb: ditto.
Mon Sep 15 03:33:10 2008  Tanaka Akira  <akr@fsij.org>

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19352 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-15 01:33:43 +00:00
nobu 2f67b43aec * transcode.c (str_encode): returns duplicated string if nothing
changed.  [ruby-core:18578]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19349 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-14 17:37:35 +00:00
yugui 406500cc8b * lib/matrix.rb (Vector#eql?): typo of the method name as "eqn?".
(Vector#eqn?): removed. Defined by mistake.
  Fixes [ruby-dev:36294]. Reported by weda <weda AT
  issp.u-tokyo.ac.jp> and an anonymous user.

* test/matrix/test_matrix.rb: added.

* test/matrix/test_vector.rb: added.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19338 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-14 07:15:55 +00:00
tadf e4b3a81769 * complex.c (f_{add,mul,sub}): omitted some shortcuts for preserve
signed zero anyway.

	* complex.c (nucomp_negate): new.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19335 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-14 01:16:44 +00:00
tadf 5ac09d7627 * complex.c: refined.
* rational.c: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19319 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-13 01:55:56 +00:00
shugo 364b083425 * test/rexml/test_document.rb: removed garbage.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19318 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-13 01:43:51 +00:00
shugo cb9478ae04 * text/rexml/test_document.rb (test_entity_expansion_limit): added tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19317 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-13 01:40:36 +00:00
akr 2cc9b488a0 * transcode.c (rb_econv_prepare_opts): raise ArgumentError if
a broken string is specified as a replacement.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19316 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-12 18:45:44 +00:00
akr 207ad0a285 add tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19314 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-12 18:00:08 +00:00
akr 76c02f05a2 * io.c (validate_enc_binmode): extracted from rb_io_extract_modeenc.
(rb_io_extract_modeenc): use validate_enc_binmode.
  (io_encoding_set): call validate_enc_binmode.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19313 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-12 17:58:58 +00:00
akr 41d3a01486 * enc/trans/escape.trans: transcoder name renamed to use underscore.
* transcode.c: follow the renaming.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19311 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-12 17:30:07 +00:00
akr 248acf0025 * transcode.c (rb_econv_init_by_convpath_i): new function.
(rb_econv_init_by_convpath): new function.
  (econv_init): use rb_econv_init_by_convpath.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19310 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-12 17:13:04 +00:00
akr 2d80b1695d * transcode.c (decorator_names): extracted from rb_econv_open.
(rb_econv_open): use decorator_names.
  (econv_args): extracted from econv_init.
  (econv_init): use econv_args.
  (decorate_convpath): new function.
  (search_convpath_i): new function.
  (econv_s_search_convpath): new method.
  (Init_transcode): new method defined.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19305 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-12 13:53:42 +00:00
akr 0de51bcc75 add tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19301 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-12 11:30:53 +00:00
suke 73412af59a * test/win32ole/test_err_in_callback.rb (teardown): get rid
of infinite loop.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-11 11:15:43 +00:00
akr 10ddce3833 * transcode.c (make_encoding): new function.
(make_encobj): new function.
  (econv_s_asciicompat_encoding): use make_encoding.
  (rb_econv_open_exc): use SUPPLEMENTAL_CONVERSION.
  (econv_convpath): use encoding object in the result.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19288 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-10 17:26:49 +00:00
akr 4e93ace24e * transcode.c (econv_convpath): new method.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19286 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-10 17:15:08 +00:00
suke 22fe262119 * test/win32ole/test_err_in_callback.rb: InternetExplorer should
be closed.

* test/win32ole/err_in_callback.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19284 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-10 12:15:04 +00:00
akr 3cf69b5d69 test modified.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19283 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-10 11:57:56 +00:00
akira 3da03397ce * lib/uri/common.rb (URI::Parser): new class.
* lib/uri/mailto.rb, lib/uri/generic.rb: follow the above change.

	* test/uri/test_parser.rb: added tests for URI::Parser.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19282 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-10 09:34:49 +00:00
akr 2d26208a55 * include/ruby/encoding.h (econv_after_output): renamed from
econv_output_followed_by_input.
  (ECONV_AFTER_OUTPUT): renamed from ECONV_OUTPUT_FOLLOWED_BY_INPUT.

* transcode.c: follow the renaming.

* io.c: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19278 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-09 16:27:02 +00:00
akr dda64cab99 * io.c (io_fwrite): raise an error if ASCII incompatible string
written for text mode IO without encoding conversion.
  (rb_io_extract_modeenc): binmode requirement changed.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19273 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-09 14:56:55 +00:00
akr d456f7e357 * include/ruby/encoding.h (ECONV_DECORATOR_MASK): merge
ECONV_ENCODER_MASK and ECONV_DECORATOR_MASK.
  (ECONV_UNIVERSAL_NEWLINE_DECORATOR): renamed from
  ECONV_UNIVERSAL_NEWLINE_DECODER.
  (ECONV_CRLF_NEWLINE_DECORATOR): renamed from
  ECONV_CRLF_NEWLINE_ENCODER.
  (ECONV_CR_NEWLINE_DECORATOR): renamed from ECONV_CR_NEWLINE_ENCODER.
  (ECONV_XML_TEXT_DECORATOR): renamed from ECONV_XML_TEXT_ENCODER.
  (ECONV_XML_ATTR_CONTENT_DECORATOR): renamed from
  ECONV_XML_ATTR_CONTENT_ENCODER.
  (ECONV_STATEFUL_DECORATOR_MASK): renamed from
  ECONV_STATEFUL_ENCODER_MASK.
  (ECONV_XML_ATTR_QUOTE_DECORATOR): renamed from
  ECONV_XML_ATTR_CONTENT_DECORATOR.

* io.c: follow the renaming.

* transcode.c: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19271 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-09 12:22:43 +00:00
kazu 8bf5284c1e * test/openssl/test_ssl.rb (OpenSSL#test_client_session):
Debian's openssl 0.9.8g-13 failed at assert(ssl.session_reused?),
  when use default SSLContext. [ruby-dev:36167]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19268 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-09 11:41:45 +00:00
akr 6eef0808a5 add a test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19264 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-08 19:38:11 +00:00
akr 795bf7a665 * include/ruby/encoding.h (rb_econv_decorate_at_first): declared.
(rb_econv_decorate_at_last): declared.

* transcode.c (rb_econv_open_by_transcoder_entries): initialize
  replacement_enc.  allocate outbuf for the last transcoder.
  (rb_econv_open0): extracted from rb_econv_open.
  (rb_econv_open): use rb_econv_open0 and decorate the result using
  rb_econv_decorate_at_first and rb_econv_decorate_at_last.
  (rb_econv_decorate_at): new function.
  (rb_econv_decorate_at_first): ditto.
  (rb_econv_decorate_at_last): ditto.
  (rb_econv_binmode): fix iteration end condition.
  (econv_init): don't set source_encoding_name and
  destination_encoding_name because they are set in rb_econv_open0.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19262 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-08 17:23:37 +00:00
akr 870a8b3903 add tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19252 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-08 15:03:10 +00:00
akr 6270ad5b7f * include/ruby/encoding.h (rb_econv_asciicompat_encoding): renamed
from rb_econv_stateless_encoding to apply stateless ASCII
  incompatible encodings such as UTF-16BE.

* io.c (make_writeconv): use rb_econv_asciicompat_encoding.

* transcode_data.h (rb_transcoder_asciicompat_type_t): renamed from
  rb_transcoder_stateful_type_t.
  (rb_transcoder): use rb_transcoder_asciicompat_type_t.

* transcode.c: follow the type change.
  (asciicompat_encoding_i): renamed from stateless_encoding_i.
  (rb_econv_asciicompat_encoding): renamed from
  rb_econv_stateless_encoding.
  (econv_s_asciicompat_encoding): method renamed.

* tool/transcode-tblgen.rb: follow the type change.

* enc/trans/utf_16_32.trans: follow the type change.
  rb_from_UTF_16BE to UTF-8 is asciicompat_decoder.
  rb_from_UTF_16LE to UTF-8 is asciicompat_decoder.
  rb_from_UTF_32BE to UTF-8 is asciicompat_decoder.
  rb_from_UTF_32LE to UTF-8 is asciicompat_decoder.
  UTF-8 to rb_to_UTF_16BE is asciicompat_encoder.
  UTF-8 to rb_to_UTF_16LE is asciicompat_encoder.
  UTF-8 to rb_to_UTF_32BE is asciicompat_encoder.
  UTF-8 to rb_to_UTF_32LE is asciicompat_encoder.

* enc/trans/newline.trans: follow the type change.  universal newline
  decoder is asciicompat_converter.

* enc/trans/escape.trans: follow the type change.

* enc/trans/iso2022.trans: ditto.

* enc/trans/japanese.trans: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19249 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-08 14:33:17 +00:00
xibbar 52945b0d28 * test/cgi/test_cgi_tag_helper.rb : fix class name
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19248 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-08 14:27:37 +00:00
akr a98bb55e01 * transcode.c (rb_econv_insert_output): "readagain" part should be
after replacement.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19247 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-08 14:08:44 +00:00
kazu be2c236fff * test/ruby/test_io.rb (TestIO#test_dup): add open in block.
see [ruby-dev:35957].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19237 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-08 04:49:52 +00:00
tadf 249705229f * rational.c: removed unused code.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19224 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-07 15:59:12 +00:00
akr 78350a0cc6 * enc/trans/iso2022.trans: stateless-iso-2022-jp is defined to avoid
undefined conversion error between iso-2022-jp and the corresponding
  stateless encoding.

* enc/emacs_mule.c: replicate emacs-mule as stateless-iso-2022-jp.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19220 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-07 14:49:05 +00:00
akr 020e681eec * include/ruby/encoding.h (ECONV_XML_ATTR_CONTENT_ENCODER): defined.
(ECONV_STATEFUL_ENCODER_MASK): defined.
  (ECONV_XML_ATTR_QUOTE_ENCODER): defined.
  (ECONV_XML_ATTR_ENCODER): removed.

* enc/trans/escape.trans (rb_escape_xml_attr_content): defined.
  (rb_escape_xml_attr_quote): defined.
  (rb_escape_xml_attr): removed.

* io.c (NEED_WRITECONV): writeconv is required if supplemental
  converter is used.
  (make_writeconv): apply stateful encoder in writeconv.

* transcode.c: follow the constant change.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19209 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-07 03:13:29 +00:00
matz 7ae76a9e6b * test/ruby/test_parse.rb (TestParse): update a test not to use
recently fixed inconsistent syntax.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19200 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-06 22:14:28 +00:00
akr 0508672f0e * include/ruby/encoding.h (ECONV_ERROR_HANDLER_MASK): defined.
(ECONV_DECODER_MASK): defined.
  (ECONV_ENCODER_MASK): defined.

* io.c (make_writeconv): restrict ecflags for writeconv with
  ECONV_ERROR_HANDLER_MASK. 



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19193 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-06 15:39:00 +00:00
akr 76b3063022 * include/ruby/encoding.h (ECONV_XML_TEXT_ENCODER): renamed from
ECONV_HTML_TEXT_ENCODER.
  (ECONV_XML_ATTR_ENCODER): renamed from ECONV_HTML_ATTR_ENCODER.

* enc/trans/escape.trans: follow the renaming.

* transcode.c: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19191 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-06 14:05:10 +00:00
akr f10af82d25 * transcode.c (str_transcode0): check ECONV_HTML_TEXT_ENCODER and
ECONV_HTML_ATTR_ENCODER.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19184 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-06 09:48:32 +00:00
akr e490d92548 * transcode.c (sym_html): new variable.
(sym_text): ditto.
  (sym_attr): ditto.
  (econv_opts): check :html=>:text and :html=>:attr.
  (Init_transcode): initialize the above variables.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19180 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-06 06:07:34 +00:00
akr 34be4c1ce5 * include/ruby/encoding.h (ECONV_HTML_TEXT_ENCODER): new constant.
(ECONV_HTML_ATTR_ENCODER): ditto.

* transcode.c (rb_econv_open): check ECONV_HTML_TEXT_ENCODER and
  ECONV_HTML_ATTR_ENCODER.
  (Init_transcode): Encoding::Converter::HTML_TEXT_ENCODER and
  Encoding::Converter::HTML_ATTR_ENCODER defined.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19179 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-06 05:47:30 +00:00
akr 393f57670f * transcode.c (stateless_encoding_i): ignore supplemental conversions.
Encoding::Converter.stateless_encoding("html-attr-escaped") should be
  nil.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19174 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-06 03:26:35 +00:00
akr 091171a286 * enc/trans/escape.trans (escape_html_attr_init): new function.
(fun_so_escape_html_attr): new function.
  (escape_html_attr_finish): new function.
  (rb_escape_html_attr): use them to quote the converted result.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19173 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-06 03:20:51 +00:00
akr d90ab4c09b add a test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19172 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-05 23:27:51 +00:00
tadf 803aafe7c4 * complex.c: uses f_real_p macro.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19169 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-05 22:55:35 +00:00
akr 7d048a55ee fix a test for previous commit.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19168 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-05 22:33:38 +00:00
akr 0be34e2a49 * transcode.c (rb_econv_open): fail for ASCII incompatible with
newline conversion.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19167 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-05 22:27:46 +00:00
akr d4384f1230 * io.c (rb_io_extract_modeenc): raise an error for ASCII incompatible
encoding without binmode.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19166 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-05 22:26:39 +00:00
akr a10a5ddaac * enc/trans/escape.trans: new file.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19165 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-05 21:29:12 +00:00
akr dc98e2528a * transcode.c (output_hex_charref): upcase hexadecimal digits.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19163 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-05 20:37:36 +00:00
akr c500c37fbc * include/ruby/encoding.h (ECONV_UNDEF_HEX_CHARREF): defined.
* transcode.c (output_hex_charref): new function.
  (rb_econv_convert): call output_hex_charref if
  ECONV_UNDEF_HEX_CHARREF.
  (Init_transcode): Encoding::Converter::UNDEF_HEX_CHARREF added.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19162 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-05 20:24:18 +00:00
akr 134ca08dd1 * transcode.c (econv_s_stateless_encoding): new method.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19156 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-05 17:23:49 +00:00
akr 067b98736f add tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19151 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-05 11:10:53 +00:00
nobu 6c2108e2ac * io.c (copy_stream_fallback_body): use read method unless readpartial
is available.  [ruby-dev:36124]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-05 09:37:55 +00:00
akr 2494e67f16 * transcode.c (sym_partial_input): new variable.
(econv_primitive_convert): accept a hash as 5th argument as well.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19131 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-04 12:48:21 +00:00
akr f7607eff9a * transcode.c (sym_universal_newline_decoder): new variable.
(sym_crlf_newline_encoder): ditto.
  (sym_cr_newline_encoder): ditto.
  (econv_opts): check newline converter options.
  (econv_init): make 3rd argument hash/nil only.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19130 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-04 12:08:54 +00:00
akr 45c3707303 * include/ruby/encoding.h (ECONV_INVALID_IGNORE): removed because
it tend to cause security problem.  If the behaviour is really
  required, ECONV_INVALID_REPLACE with empty string can be used.
  For example, CVE-2006-2313, CVE-2008-1036, [ruby-core:15645]
  (ECONV_UNDEF_IGNORE): ditto.

* transcode.c (rb_econv_convert): follow the above change.
  (econv_opts): ditto.
  (Init_transcode): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19123 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-04 10:15:34 +00:00
akr 8c321128d9 add tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19110 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-03 18:22:21 +00:00