Commit graph

6735 commits

Author SHA1 Message Date
matz
8405033139 * string.c (rb_enc_strlen_cr): need to set ENC_CODERANGE_7BIT if
search_nonascii() fails.    [ruby-dev:34751]

* string.c (rb_str_reverse): preserve coderange info if the
  receiver is 7bit string.

* string.c (rb_str_reverse_bang): ditto.

* string.c (rb_str_reverse_bang): should have called
  single_byte_optimizable before rb_str_modify() that clears
  coderange info.

* string.c (tr_trans): handle single bytes more eagerly.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16492 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-20 07:59:33 +00:00
ko1
d457fdad2d * eval.c, vm_insnhelper.c: fix cref in instance_eval
and cvar_base search protocol.
* bootstraptest/test_knownbug.rb, test_eval.rb: move soleved test
  and add new tests.
* test/ruby/test_eval.rb: fix tests for spec.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-19 18:47:56 +00:00
ko1
39fcd1cdf2 * bootstraptest/test_knownbug.rb: move solved tests.
* bootstraptest/test_eval.rb, test_literal.rb, test_syntax.rb,
  test_thread.rb: ditto.
* test/ruby/test_m17n.rb, test_proc.rb, test_sprintf.rb,
  test_string.rb, test/ruby/test_struct.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-19 05:20:21 +00:00
gotoyuzo
581ec6f87d test material for r16453.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16455 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-18 13:54:04 +00:00
gotoyuzo
8ee3267d26 * lib/webrick/httpservlet/filehandler.rb: should normalize path
name in path_info to prevent script disclosure vulnerability on
  DOSISH filesystems. (fix: CVE-2008-1891)
  Note: NTFS/FAT filesystem should not be published by the platforms
  other than Windows. Pathname interpretation (including short
  filename) is less than perfect.

* lib/webrick/httpservlet/abstract.rb
  (WEBrick::HTTPServlet::AbstracServlet#redirect_to_directory_uri):
  should escape the value of Location: header.

* lib/webrick/httpservlet/cgi_runner.rb: accept interpreter
  command line arguments.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16453 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-18 13:33:24 +00:00
mame
a0e236f606 * pack.c (pack_pack): check errno to detect error of ruby_strtoul.
* pack.c (pack_unpack): ditto.

* test/ruby/test_pack.rb: add a test for above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16452 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-17 17:56:41 +00:00
nobu
9afd5465e2 * array.c (rb_ary_sort_bang): should not free shared pointer, and set
shared.  [ruby-dev:34732]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16445 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-17 05:01:52 +00:00
nobu
8676f8baf2 * test/ruby/test_eval.rb (test_define_method_block): new test
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-17 02:44:38 +00:00
nobu
34c96140f3 * file.c (rb_file_s_extname): first dot is not an extension name.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-17 02:29:13 +00:00
nobu
03ed3bde9a * test/ruby/test_module.rb (assert_method_defined?): added.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16436 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-16 08:08:06 +00:00
matz
f970ffedae * math.c (to_flo): rb_Float() accepts even strings for input.
* complex.c (nucomp_to_f): fix wrong message.

* complex.c (nucomp_to_r): ditto.

* object.c (rb_Float): do not check NaN for error.  NaN is a part
  of valid float values.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16429 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-16 04:17:45 +00:00
mame
b8118e9645 * test/ruby/test_string.rb: add tests to achieve over 90% test
coverage of string.c.

* test/ruby/test_m17n.rb: ditto.

* test/ruby/test_symbol.rb: ditto.

* test/ruby/test_pack.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16427 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-15 14:37:18 +00:00
mame
41bf214fd7 * string.c (tr_find): String#delete returned wrong result when multiple
utf-8 arguments are passed.

* test/ruby/test_m17n.rb (test_delete): add a test for above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-15 14:03:21 +00:00
nobu
22361a3d1c * file.c (file_expand_path): support for alternative data stream
and ignored trailing garbages of NTFS.

* file.c (rb_file_s_basename): ditto.

* file.c (rb_file_s_extname): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16420 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-15 06:34:02 +00:00
mame
f09f597422 * test/ruby/test_object.rb: new tests to achieve over 90% test
coverage of object.c, eval.c and eval_method.c.

* test/ruby/test_module.rb: ditto.

* test/ruby/test_trace.rb: ditto.

* test/ruby/test_integer.rb: ditto.

* test/ruby/test_float.rb: ditto.

* test/ruby/test_method.rb: ditto.

* test/ruby/test_variable.rb: ditto.

* test/ruby/test_eval.rb: ditto.

* test/ruby/test_exception.rb: ditto.

* test/ruby/test_class.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16418 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-14 12:52:17 +00:00
nobu
e4f8e61ddd * test/ruby/test_file_exhaustive.rb (assert_integer): may not Fixnum.
* test/ruby/test_file_exhaustive.rb (test_stat, test_readable_p)
  (test_readable_real_p, test_world_readable_p, test_writable_p)
  (test_writable_real_p, test_world_writable_p, test_executable_p)
  (test_executable_real_p, test_owned_p, test_chmod, test_lchmod)
  (test_umask, test_stat_readable_p, test_stat_readable_real_p)
  (test_stat_world_readable_p, test_stat_writable_p)
  (test_stat_writable_real_p, test_stat_world_writable_p)
  (test_stat_executable_p, test_stat_executable_real_p)
  (test_stat_owned_p): mode, owner and group can't rely on cygwin.

* test/ruby/test_file_exhaustive.rb (test_stat_init): test hard link
  on Windows too.

* test/ruby/test_file_exhaustive.rb (test_test): struct stat dosn't
  have sub second mtime on cygwin.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16416 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-14 09:11:10 +00:00
knu
921fb6ae25 * array.c (rb_ary_count): Override Enumerable#count for better
performance.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16412 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-14 03:46:37 +00:00
akr
86294fad68 test the actual value of (10**32768-1).to_s.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-14 00:01:24 +00:00
akr
759c6d2a89 add a test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-13 17:16:03 +00:00
mame
1951ceeed7 * test/ruby/test_io_m17n.rb: remove a duplicative method.
* test/ruby/test_utf16.rb: rename a conflicting method name.

* test/ruby/test_array.rb: ditto.

* test/ruby/test_file_exhaustive.rb: ditto.

* test/ruby/test_hash.rb: ditto.

* test/ruby/test_env.rb: ditto.

* test/ruby/test_fixnum.rb: ditto.

* test/ruby/test_rational.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16406 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-13 15:57:22 +00:00
akr
ec1f2095a1 check the chracters in (10**32768-1).to_s.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16401 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-13 04:21:33 +00:00
mame
18e46b81ff * vm.c (collect_local_variables_in_env): remove unnecessary check
which causes: x=1;proc{local_variables}.call #=> []

* test/ruby/test_variable.rb: add a test for above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16397 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-12 14:42:17 +00:00
usa
9416fedc28 * process.c, include/ruby/intern.h (rb_run_exec_options): externed.
* process.c (save_redirect_fd, save_env_i, save_env, run_exec_dup2,
	  run_exec_open, run_exec_pgroup, run_exec_rlimit, rb_run_exec_options):
	  save parent's process environments.
	  !!!remark!!! these are not thread-safe.

	* process.c (rb_spawn_internal): remove calling run_exec_options()
	  because cannot restore after spawn. we'll fix this later.

	* io.c (pipe_open): ditto.

	* test/ruby/test_process.rb (test_execopts_env): upcase environment
	  variable name for case insensitive platforms.

	* win32/win32.c (init_env): set USER environment variable only when
	  USERNAME is available.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16395 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-12 14:15:32 +00:00
usa
e67e71d36a * test/ruby/envutil.rb (rubybin): return expanded rubyexe instead of
expanded ruby if available.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16393 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-12 12:35:37 +00:00
matz
ab24f2b077 * re.c (rb_reg_prepare_re): made non static with small refactoring.
* ext/strscan/strscan.c (strscan_do_scan): should adjust encoding
  before regex searching.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16387 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-12 06:09:53 +00:00
akr
10fc0eb781 add tests for [ruby-dev:34591].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16378 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-12 03:37:58 +00:00
kazu
7467524ca2 fix typo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16362 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-11 10:53:52 +00:00
mame
c030326a09 * test/ruby/test_thread.rb: kill and join temporal threads that are
created in each test.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16360 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-11 10:06:58 +00:00
akr
435ac5e58d * test/ruby/test_process.rb (TestProcess#with_stdin): defined.
(TestProcess#test_argv0_noarg): don't use redirect_fds.
  [ruby-dev:34647]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16358 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-11 09:01:31 +00:00
kazu
4273476265 add tests of UnboundMethod#{name,owner}
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16354 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-11 01:40:30 +00:00
matz
7ce9ab664d test/ruby/test_continuation.rb: remove duplicated test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16329 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-08 06:59:38 +00:00
nobu
f8cb9c861a * test/ruby/test_array.rb (test_sort_with_callcc): test for [ruby-core:16679].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16322 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-08 01:04:20 +00:00
matz
60219a0aa3 * string.c (tr_trans): should squeeze properly. [ruby-dev:34587]
* string.c (tr_trans): had a bug in treating multi-byte character
  replacement. 

* string.c (rb_str_delete_bang): need not to do anything for empty
  strings. 

* test/ruby/test_m17n_comb.rb (TestM17NComb::test_str_delete): add
  test for empty receiver.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16317 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-07 16:15:45 +00:00
matz
10f263c10e * numeric.c (bit_coerce): float should not be a valid operand of
bitwise operations.  [ruby-dev:34583]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16316 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-07 13:24:55 +00:00
matz
640a62ea71 * string.c (sym_to_i): remove obsolete method. preparation for
symbol GC.

* numeric.c (fix_to_sym): ditto.

* numeric.c (fix_id2name): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16312 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-07 09:18:06 +00:00
matz
fa16110326 * bignum.c (rb_big_fdiv): flo.fdiv(NaN) should result NaN.
* numeric.c (num_quo): renamed and moved from bignum.c.
  [ruby-dev:34582]

* bignum.c (rb_big_fdiv): update RDoc description

* rational.c (nurat_s_new_m): small refactoring.

* bignum.c (rb_big2dbl): no need for forceful warning when
  converting to float.  overflow is a nature of float values.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16308 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-07 04:14:57 +00:00
akr
4500a5207d File#lchmod test removed because the method is not exist.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16303 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-06 00:02:01 +00:00
akr
786e7aba7f * test/io/nonblock/test_flush.rb: don't set Thread.abort_on_exception.
* test/net/imap/test_imap.rb: ensure disconnecting imap to terminate
  receiver thread..


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16302 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-05 17:18:09 +00:00
akr
04752225a7 * time.c (obj2nsec): fix string argument.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16286 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-04 07:05:26 +00:00
akr
f587eab23c * eval.c (rb_obj_respond_to): check the result of respond_to? method
by RTEST.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16285 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-04 05:30:08 +00:00
akr
091333f9ea * test/ruby/envutil.rb (Test::Unit::Assertions#assert_normal_exit):
new method.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16279 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-03 11:57:55 +00:00
akr
724d6ffd54 add a test for [ruby-dev:34581].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16278 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-03 10:54:43 +00:00
akr
3330ec6cff add tests for [ruby-dev:34557] and [ruby-dev:34558].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16270 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-02 07:52:01 +00:00
matz
78008d342e * test/ruby/test_parse.rb (TestParse::test_void_expr_stmts_value):
shut up warning.

* rational.c (nurat_to_f): no need for forceful warning when
  converting to float.  overflow is a nature of float values.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16252 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-01 12:47:07 +00:00
akr
a60856f010 add tests for [ruby-dev:34556] and [ruby-dev:34555].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16251 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-01 09:12:09 +00:00
akr
3943e48fcc add a test for [ruby-dev:34553].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16249 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-01 05:11:29 +00:00
akr
577cb7c53c split combinational blackbox tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16248 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-01 02:02:49 +00:00
akr
e4dda7015a 0**-1 test updated. [ruby-dev:34547]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-30 14:29:58 +00:00
seki
b72ef21cd3 [ruby-dev:34497] ERB::Util#url_encode bug fix. Reported by rubikitch.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-30 12:40:52 +00:00
akr
b104173c4c add tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-30 12:38:47 +00:00