summaryrefslogtreecommitdiffstats
path: root/test/ruby
Commit message (Collapse)AuthorAgeFilesLines
* * transcode.c (sym_partial_input): new variable.akr2008-09-041-31/+31
| | | | | | | (econv_primitive_convert): accept a hash as 5th argument as well. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19131 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * transcode.c (sym_universal_newline_decoder): new variable.akr2008-09-041-9/+9
| | | | | | | | | | (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: http://svn.ruby-lang.org/repos/ruby/trunk@19130 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/encoding.h (ECONV_INVALID_IGNORE): removed becauseakr2008-09-043-20/+20
| | | | | | | | | | | | | | | 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: http://svn.ruby-lang.org/repos/ruby/trunk@19123 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add tests.akr2008-09-031-0/+15
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19110 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/io.h (rb_io_t): new fields: encs.ecopts andakr2008-09-033-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | writeconv_pre_ecopts. (MakeOpenFile): initialize them. * include/ruby/encoding.h (rb_str_transcode): take ecopts argument. (rb_econv_flags): removed. (rb_econv_prepare_opts): declared. (rb_econv_open_opts): declared. * io.c (make_writeconv): use rb_econv_open_opts. (make_readconv): ditto. (io_fwrite): follow rb_str_transcode change. (rb_io_extract_modeenc): use rb_econv_prepare_opts. (rb_file_open_generic): initialize encs.ecopts. (rb_file_open_internal): ditto. (rb_io_reopen): ditto. (argf_ecopts): defined. (argf_next_argv): set encs.ecopts. (io_encoding_set): use rb_econv_prepare_opts. (argf_set_encoding): set argf_ecopts. * gc.c (gc_mark_children): mark encs.ecopts and writeconv_pre_ecopts in T_FILE. * transcode.c (transcode_loop): take ecopts argument. use rb_econv_open_opts. (rb_econv_flags): removed. (rb_econv_prepare_opts): defined. (rb_econv_open_opts): defined. (str_transcode0): take ecopts. (str_transcode): use rb_econv_prepare_opts. (rb_str_transcode): take ecopts. (econv_init): accept hash argument. (econv_insert_output): follow rb_str_transcode change. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19109 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/encoding.h (rb_econv_set_replacemenet): declared.akr2008-09-031-0/+14
| | | | | | | | | | | | | | | | | * transcode.c (rb_econv_t): new fields: replacement_str, replacement_len, replacement_enc and replacement_allocated. (get_replacement_character): make len as size_t. (rb_econv_open_by_transcoder_entries): initialize the new fields. (rb_econv_close): deallocate replacement_str if it allocated. (make_replacement): new function. (output_replacement_character): use make_replacement. (rb_econv_set_replacemenet): defined. (econv_get_replacement): new method. (econv_set_replacement): new method. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19108 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * enc/trans/japanese.trans: new file.akr2008-09-032-0/+72
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19086 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_thread.rb: fix test.ko12008-09-031-1/+1
| | | | | | | | [ruby-dev:35960] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19082 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * enc/euc_jp.c (euc-jp-ms): euc-jp-ms is not EUC-JP not an alias ofnaruse2008-09-011-0/+7
| | | | | | | | | | eucJP-ms. * enc/trans/japanese.trans (eucJP-ms): eucJP-ms is the correct name of the encoding in Ruby. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19021 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_transcode.rb (test_windows_31j): added.naruse2008-09-011-0/+8
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19013 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * tool/transcode-tblgen.rb: add table generator from Citrus maps.naruse2008-08-311-2/+2
| | | | | | | | | | | | | | * enc/trans/japanese.trans: use Citrus maps. * enc/trans/CP: add maps from Citrus. * enc/trans/JIS: ditto. * test/ruby/test_transcode.rb: Shift_JIS and EUC-JP doesn't support IBM extended characters. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19003 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * complex.c (numeric_abs2): new.tadf2008-08-312-2/+11
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18998 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * transcode.c (transcode.c): set source_encoding andakr2008-08-311-0/+6
| | | | | | | | | destination_encoding as encoding object. (ecerr_source_encoding): new method. (ecerr_destination_encoding): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18993 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * transcode.c (make_econv_exception): rename instance variable namesakr2008-08-311-6/+6
| | | | | | | | | for storing encoding names. (ecerr_source_encoding_name): method renamed. (ecerr_destination_encoding_name): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18987 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * transcode.c (econv_putback): associate encoding to the result.akr2008-08-311-2/+2
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18986 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * transcode.c (econv_insert_output): raise ArgumentError on failure.akr2008-08-311-3/+3
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18984 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * enc/trans/single_byte.trans (us_ascii_map): don't define 8bit bytes.akr2008-08-311-0/+15
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18982 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * transcode.c (econv_last_error): new method.akr2008-08-311-0/+15
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18980 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * transcode.c (econv_primitive_convert): make two arguments,akr2008-08-311-1/+10
| | | | | | | destination_byteoffset and destination_bytesize, optional. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * transcode.c (econv_putback): make max argument optional.akr2008-08-301-1/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18967 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * transcode.c (rb_econv_putback): putback from last byte.akr2008-08-301-0/+9
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18966 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * transcode.c (econv_putback): renamed from econv_primitive_putback.akr2008-08-301-1/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18965 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * transcode.c (econv_insert_output): renamed fromakr2008-08-301-5/+5
| | | | | | | econv_primitive_insert_output. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18964 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_econv.rb: follow econv_primitive_errinfo change.akr2008-08-301-10/+9
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18963 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * rational.c: added a static variable for nurat_to_f.tadf2008-08-301-2/+2
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18953 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * encoding.c (enc_compatible_p): add SPECIAL_CONST_P check.naruse2008-08-291-1/+1
| | | | | | * test/ruby/test_m17n.rb (test_compatible): fix test. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* removed some lines which gain the score of coverage.tadf2008-08-292-230/+0
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * complex.c ({nucomp,numeric}_rect): new.tadf2008-08-292-80/+208
| | | | | | | | | | | | | | | | | | | | | | | * complex.c: added some aliases (::rectangular, ::rect, #rectangular, #rect, #phase, #magnitude). * complex.c (string_to_c_internal): should not strip any null bytes. * rational.c (string_to_r_internal): ditto. * rational.c (i_gcd): reverted to nurat 0.0.2's one. * numeric.c: added an alias (#magnitude). * test/ruby/test_complex.rb: added assertions. * test/ruby/test_rational.rb: ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * transcode.c (econv_finish): new method.akr2008-08-281-0/+13
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * transcode.c (econv_convert): new method.akr2008-08-281-0/+9
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * transcode.c (econv_primitive_convert): accept nil asakr2008-08-281-1/+20
| | | | | | | destination_bytesize for unlimited destination size. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18911 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * transcode.c (econv_primitive_convert): accept nil as input for emptyakr2008-08-281-0/+6
| | | | | | | | input. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * strftime.c (rb_strftime): supported %s and %P.shugo2008-08-281-0/+10
| | | | | | | | * time.c (time_strftime): ditto. * test/ruby/test_time.rb (test_strftime): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18909 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * strftime.c (rb_strftime): fixed a bug of padding.shugo2008-08-281-0/+33
| | | | | | | * test/ruby/test_time.rb: ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * strftime.c (rb_strftime): Time.mktime(2000).strftime("%-S") shouldshugo2008-08-281-0/+1
| | | | | | | return "0", not "". git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18903 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_time.rb: suppress warning during test.mame2008-08-281-0/+9
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18902 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_time.rb (test_strftime): make test for %a independentmame2008-08-281-1/+2
| | | | | | | from local timezone. [ruby-dev:35992] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18901 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_initialize): don't accept IO object. [ruby-dev:35895]akr2008-08-271-25/+0
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18883 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add a test.akr2008-08-271-0/+8
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18881 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/encoding.h (rb_econv_result_t): enumeration constant:akr2008-08-261-1/+13
| | | | | | | | | | | | | | | | | | | | | | econv_incomplete_input. * io.c (finish_writeconv): check econv_incomplete_input. * transcode.c (transcode_restartable0): return econv_incomplete_input for unexpected end of source buffer. (trans_sweep): check econv_incomplete_input. (rb_trans_conv): ditto. (rb_econv_convert0): ditto. (rb_econv_convert): ditto. (transcode_loop): ditto. (make_econv_exception): change message for econv_incomplete_input. (econv_result_to_symbol): return :incomplete_input for econv_incomplete_input. (ecerr_incomplete_input): new method. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18875 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * transcode.c (rb_econv_open): disable newline conversion for ASCIIakr2008-08-261-2/+47
| | | | | | | | incompatible encodings. (str_transcode0): don't need disable newline conversion here. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18870 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_enum.rb (TestEnumerable#test_each_with_object):knu2008-08-261-0/+10
| | | | | | | | Add a test for Enumerable#each_with_object. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18868 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_enumerator.rb (TestEnumerator#test_with_object):knu2008-08-261-8/+11
| | | | | | | | Add (back) the test for Enumerable#with_object. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18867 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * enumerator.c (enumerator_initialize),knu2008-08-261-0/+5
| | | | | | | | | test/ruby/test_enumerator.rb: Add an ability to generate an enumerator from a block. [experimental] [ruby-dev:35903] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18863 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_transcode.rb: added test_euc_jpduerst2008-08-261-0/+54
| | | | | | | (contributed by Yoshihiro Kambayashi) git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18862 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * transcode.c (make_econv_exception): show readagain part for invalidakr2008-08-251-0/+1
| | | | | | | | byte sequence exception. store the part as an instance variable. (ecerr_readagain_bytes): new method to access the readagain part. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18850 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_thread.rb (test_status_and_stop_p): reduce the riskmame2008-08-251-6/+9
| | | | | | | of race condition. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18838 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io.rb (test_dup): fix typo. see [ruby-dev:35958]mame2008-08-251-1/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18836 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * transcode.c (rb_econv_open_by_transcoder_entries): initializeakr2008-08-251-1/+41
| | | | | | | | | | | last_error. num_trans may be zero. (rb_econv_convert0): num_trans may be zero. (rb_econv_putbackable): ditto. (rb_econv_putback): ditto. (rb_econv_convert): input_ptr and output_ptr may be NULL. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18835 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_init_copy): copy encs.akr2008-08-241-2/+29
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18822 b2dd03c8-39d4-4d8f-98ff-823fe69b080e