summaryrefslogtreecommitdiffstats
path: root/test/ruby/test_m17n.rb
Commit message (Collapse)AuthorAgeFilesLines
...
* add m17n tests for scan, slice, slice!, split.akr2007-12-201-4/+141
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14354 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_each_line): should consider rslen.matz2007-12-191-1/+4
| | | | | | | | | | | | | | * string.c (rb_str_buf_append): should propagate encoding. * string.c (rb_str_each_line): ditto. * test/ruby/test_m17n.rb (TestM17N::test_str_each_line): should check encoding as well. * test/ruby/test_m17n.rb (TestM17N::test_str_each_line): empty array can not propagate encoding; should not check. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14343 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_rindex_m): too much adjustment.matz2007-12-191-1/+13
| | | | | | | | | | * re.c (reg_match_pos): pos adjustment should be based on characters. * test/ruby/test_m17n.rb (TestM17N::test_str_insert): test updated to check negative offset behavior. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14340 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * re.c (rb_reg_regsub): should set checked encoding.nobu2007-12-191-0/+2
| | | | | | | * string.c (rb_str_sub_bang): applied r14212 too. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14333 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add tests for insert, intern, length, oct, replace, reverse.akr2007-12-191-1/+62
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14328 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add tests for hex, include?, index, rindex.akr2007-12-191-0/+79
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14327 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add tests for clear, clone, dup, count, crypt, delete, downcase, dump,akr2007-12-191-0/+150
| | | | | | | each_line, each_byte, empty?. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14324 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add tests.akr2007-12-191-4/+38
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14318 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add test for center, ljust, rjust, chomp.akr2007-12-191-0/+73
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14314 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* more m17n tests.akr2007-12-181-120/+264
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14310 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix test. [ruby-dev:32625].akr2007-12-181-4/+11
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* more tests.akr2007-12-181-0/+103
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14292 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (str_nth): need not to raise out-of-range exception.matz2007-12-181-1/+0
| | | | | | | * test/ruby/test_m17n.rb (TestM17N::test_str_aref_len): removed debug print. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14287 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* more tests.akr2007-12-181-71/+120
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14285 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* more tests.akr2007-12-171-4/+183
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14274 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * encoding.c (rb_enc_compatible): encoding should never fall backmatz2007-12-131-7/+7
| | | | | | to ASCII-8BIT unless both encodings are ASCII-8BIT. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14217 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* upcase hex.akr2007-12-131-25/+25
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* update tests for String#inspect replacing \xHH instead of \OOO.akr2007-12-091-27/+27
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14166 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * re.c (append_utf8): check unicode range.akr2007-12-091-0/+10
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14154 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (tr_find): returns true if no characters to be removed isnobu2007-12-091-0/+5
| | | | | | | specified. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14151 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (tr_trans): get rid of segfaults when has mulitbytes butnobu2007-12-091-0/+6
| | | | | | | source sets have no mulitbytes. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * re.c (rb_reg_check_preprocess): new function for validating regexpakr2007-12-081-10/+25
| | | | | | | | | | | fragment. * parse.y (regexp): invoke reg_fragment_check. (reg_fragment_check): defined. (reg_fragment_check_gen): defined. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14133 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add test for UTF-8 bit pattern.akr2007-12-081-0/+59
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14132 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * encoding.c (rb_enc_mbclen): make it never fail.akr2007-12-081-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (rb_enc_nth): don't check the return value of rb_enc_mbclen. (rb_enc_strlen): ditto. (rb_enc_precise_mbclen): return needmore(1) if e <= p. (rb_enc_get_ascii): new function for extracting ASCII character. * include/ruby/encoding.h (rb_enc_get_ascii): declared. * include/ruby/regex.h (ismbchar): removed. * re.c (rb_reg_expr_str): use rb_enc_get_ascii. (unescape_escaped_nonascii): use rb_enc_precise_mbclen to determine the termination of escaped non-ASCII character. (unescape_nonascii): use rb_enc_precise_mbclen. (rb_reg_quote): use rb_enc_get_ascii. (rb_reg_regsub): use rb_enc_get_ascii. * string.c (rb_str_reverse) don't check the return value of rb_enc_mbclen. (rb_str_split_m): don't call rb_enc_mbclen with e <= p. * parse.y (is_identchar): use ISASCII. (parser_ismbchar): removed. (parser_precise_mbclen): new macro. (parser_isascii): new macro. (parser_tokadd_mbchar): use parser_precise_mbclen to check invalid character precisely. (parser_tokadd_string): use parser_isascii. (parser_yylex): ditto. (is_special_global_name): don't call is_identchar with e <= p. (rb_enc_symname_p): ditto. [ruby-dev:32455] * ext/tk/sample/tkextlib/vu/canvSticker2.rb: remove coding cookie because the encoding is not UTF-8. [ruby-dev:32475] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14131 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * encoding.c (rb_enc_precise_mbclen): new function for mbclen withakr2007-12-061-113/+145
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | validation. * include/ruby/encoding.h (rb_enc_precise_mbclen): declared. (MBCLEN_CHARFOUND): new macro. (MBCLEN_INVALID): new macro. (MBCLEN_NEEDMORE): new macro. * include/ruby/oniguruma.h (OnigEncodingTypeST): replace mbc_enc_len by precise_mbc_enc_len. (ONIGENC_PRECISE_MBC_ENC_LEN): new macro. (ONIGENC_CONSTRUCT_MBCLEN_CHARFOUND): new macro. (ONIGENC_CONSTRUCT_MBCLEN_INVALID): new macro. (ONIGENC_CONSTRUCT_MBCLEN_NEEDMORE): new macro. (ONIGENC_MBCLEN_CHARFOUND): new macro. (ONIGENC_MBCLEN_INVALID): new macro. (ONIGENC_MBCLEN_NEEDMORE): new macro. (ONIGENC_MBC_ENC_LEN): use ONIGENC_PRECISE_MBC_ENC_LEN. * enc/euc_jp.c: validation implemented. * enc/sjis.c: ditto. * enc/utf8.c: ditto. * string.c (rb_str_inspect): use rb_enc_precise_mbclen for invalid encoding. (rb_str_valid_encoding_p): new method String#valid_encoding?. * io.c (rb_io_getc): use rb_enc_precise_mbclen. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14119 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* s/unicode/Unicode/ in error messages.akr2007-12-021-7/+75
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14078 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y (regexp): fix /#{}\xa1\xa2/e to be EUC-JP. akr2007-12-021-0/+8
| | | | | | | (reg_fragment_setenc_gen): extracted from reg_compile_gen. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h (rb_uv_to_utf8): declared.akr2007-12-011-7/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * re.c (rb_reg_preprocess): new function for dynamic regexp with \u{} such as Regexp.new("\\u{6666}"). (rb_reg_prepare_re): preprocess regexp for recompiling. (read_escaped_byte): new function. (unescape_escaped_nonascii): new function. (append_utf8): new function. (unescape_unicode_list): new function. (unescape_unicode_bmp): new function. (unescape_nonascii): new function. (rb_reg_initialize): preprocess regexp. * pack.c (rb_uv_to_utf8): renamed from uv_to_utf8. * parse.y (STR_NEW3): take func instead of has8 and hasmb. (parser_str_new): use default coderange mechanism except for regexp. (parser_tokadd_utf8): copy regexp source as-is. (parser_read_escape): UTF-8 stuff removed. (parser_tokadd_escape): has8bit and hasmb removed. (parser_tokadd_string): fix 8-bit single byte character with \u. (parser_parse_string): has8bit and hasmb removed. (parser_here_document): has8bit and hasmb removed. (parser_yylex): call parser_tokadd_utf8 instead of read_escape for UTF-8 character. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14072 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* more tests.akr2007-11-261-155/+77
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/encoding.h (rb_enc_str_asciionly_p): declared.akr2007-11-251-21/+189
| | | | | | | | | | | | | | (rb_enc_str_asciicompat_p): defined. * re.c (rb_reg_initialize_str): use rb_enc_str_asciionly_p. (rb_reg_quote): return ascii-8bit string if the argument is ascii-only to generate encoding generic regexp if possible. (rb_reg_s_union): fix encoding handling. [ruby-dev:32094] * string.c (rb_enc_str_asciionly_p): defined. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14013 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * re.c (REG_CASESTATE): unused macro removed.akr2007-11-231-0/+201
(rb_reg_prepare_re): check encoding difference. (rb_reg_initialize): check 8bit byte. * parse.y (parser_tokadd_escape): fix has8bit. [ruby-dev:32113] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14002 b2dd03c8-39d4-4d8f-98ff-823fe69b080e