aboutsummaryrefslogtreecommitdiffstats
path: root/test/ruby/test_io_m17n.rb
Commit message (Collapse)AuthorAgeFilesLines
* * ruby.c (load_file_internal): set default source encoding asnaruse2012-11-061-0/+1
| | | | | | | | | UTF-8 instead of US-ASCII. [ruby-core:46021] [Feature #6679] * parse.y (parser_initialize): set default parser encoding as UTF-8 instead of US-ASCII. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (io_unread): fix IO#pos with mode 'r' bug on Windows.shirosaki2012-05-081-0/+16
| | | | | | | | | | | If the end of reading buffer is CR, io_unread() needs to unread one more byte. [ruby-core:44874] [Bug #6401] * test/ruby/test_io_m17n.rb (TestIO_M17N#test_pos_with_buffer_end_cr): add a test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35594 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* use assert_equal, assert_match, and so on.nobu2012-05-071-1/+1
| | | | | | | | | | | | * test/fileutils/fileasserts.rb: use assert_equal, assert_match, and so on. * test/ruby/enc/test_utf16.rb, test/ruby/enc/test_utf32.rb, test/ruby/test_io_m17n.rb (assert_str_equal): ditto. * test/rubygems/test_gem_remote_fetcher.rb (assert_data_from_{server,proxy}): ditto. * test/test_pstore.rb (test_thread_safe): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35553 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (parse_mode_enc): remove warnings 'Ignoring internal encoding'.naruse2012-05-041-7/+8
| | | | | | | | [ruby-core:44455] [Bug #6324] * io.c (io_encoding_set): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35538 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_eof): use eof() instead of io_fillbuf(). It's becauseshirosaki2012-04-111-0/+16
| | | | | | | | | | | io_unread() doesn't work properly when reading CRLF with read(length) and mode 'r'. [ruby-core:44189][Bug #6271] * test/ruby/test_io_m17n.rb (TestIO_M17N#test_read_crlf_and_eof): test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (static int io_fflush): add the definition.shirosaki2012-03-221-0/+15
| | | | | | | | | | | | | | | | | | Use it in set_binary_mode_with_seek_cur(). * io.c (set_binary_mode_with_seek_cur): refactoring to split the content into io_unread(). Fix the possibility of buffer overflow. * io.c (io_unread): add new implementation for Windows. Previous one caused invalid cursor position using IO#pos with OS text mode. New one fixes the bug. * test/ruby/test_io_m17n.rb (TestIO_M17N#test_pos_dont_move_cursor_position): add a test for above bug. [ruby-core:43497] [Bug #6179] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35111 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (io_encoding_set): always warn if external encoding and internalnaruse2012-03-131-0/+26
| | | | | | encoding are identical. [ruby-core:40727] [Bug #5568] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34997 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* assert_warn, assert_warningnobu2012-03-131-12/+0
| | | | | | | | * test/ruby/envutil.rb (assert_warn): add optional message argument. * test/ruby/envutil.rb (assert_warning): moved from test_io_m17n.rb git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34994 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Add missing assert_warning.naruse2012-03-121-3/+15
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * encoding.c (rb_find_encoding): new function find encoding fromnobu2012-03-121-0/+11
| | | | | | | | | | arbitrary object as a pointer to rb_encoding, and return NULL if not found. * io.c (io_encoding_set): just warn unsupported encodings, but not exception. [ruby-core:40726] [Bug #5567] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34986 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dir.c (dir_inspect), io.c (rb_io_inspect): keep encoding of path.nobu2012-02-241-0/+11
| | | | | | | [Bug #6072] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34795 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dir.c (dir_initialize): keep path in original encoding.nobu2012-02-241-0/+11
| | | | | | | | * error.c (syserr_initialize): prefer the encoding of message over locale. [ruby-dev:45279][Bug #6071] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34794 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Additional test for r34358.naruse2012-01-241-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34366 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (extract_binmode): raise an exception if binmode/textmodenaruse2012-01-231-0/+25
| | | | | | | is specified with both vmode and opthash. [ruby-core:42199] [Bug #5918] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34359 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_extract_modeenc): set ASCII-8BIT if binmode is specifiednaruse2012-01-231-0/+5
| | | | | | with opthash. [ruby-core:42197] [Bug #5917] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34358 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_sys_fail_path): move the definition.shirosaki2011-12-261-0/+11
| | | | | | | | | | | | | | | | | | | | | Move above for using it in set_binary_mode_with_seek_cur(). * io.c (set_binary_mode_with_seek_cur): fix improper seek cursor. Seeking file cursor with setting binary mode has possibility to cause infinite loop. Fixed the bug and refined error handling. Introduced at r34043. And cleanups as below. Remove unnecessary parentheses of `fptr`. Use return value of setmode(). * test/ruby/test_io_m17n.rb (TestIO_M17N#test_seek_with_setting_binmode): add a test for abobe. [ruby-core:41671] [Bug #5714] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34132 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io_m17n.rbusa2011-12-141-2/+2
| | | | | | | (TestIO_M17N#test_{read_with_binmode_and_get[cs]}): only for Windows. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34045 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c, include/ruby/win32.h (rb_w32_fd_is_text): new function.usa2011-12-141-0/+92
| | | | | | | | | | | | | | | | | | | | | | | | | * win32/win32.c (init_stdhandle): set default mode of stdin as binmode. * io.c (set_binary_mode_with_seek_cur): new function to replace SET_BINARY_MODE_WITH_SEEK_CUR macro. now returns previous mode of the fd and take care of LF in rbuf. * io.c (do_writeconv): set text mode when needed. * io.c (io_read): need to change the mode of the IO to binmode temporally when the length for IO#read, because IO#read with length must behave so. * test/ruby/test_io_m17n.rb (TestIO_M17N#est_{read_with_length, read_with_length_binmode,get[cs]_and_read_with_binmode, read_with_binmode_and_get[cs],read_write_with_binmode}): tests for above changes. all patches are written by Hiroshi Shirosaki. [ruby-core:41496] [Feature #5714] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34043 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Introduce NEED_READCONV and NEED_WRITECONV to replace universal newline ↵luislavena2011-12-041-0/+48
| | | | | | | | | decorator Use CRLF only when required to improve file reading and writing under Windows. Patch by Hiroshi Shirosaki. [ruby-core:40706] [Feature #5562] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33937 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/encoding.h (ECONV_NEWLINE_DECORATOR_READ_MASK,usa2011-11-071-0/+57
| | | | | | | | | | | | | | | | | | | | | | ECONV_NEWLINE_DECORATOR_WRITE_MASK): new macro. * io.c (rb_io_extract_modeenc, pipe_open, prep_stdio, argf_next_argv): set TEXTMODE_NEWLINE_DECORATOR_ON_WRITE for textmode on creating IO if the flag is available. * io.c (make_writeconv): drop decorators for reading. * io.c (make_readconv): drop decorators for writing. * io.c (do_writeconv): existing writeconv is not the condition to raise ArgumentError. should check textmode or not. * test/ruby/test_io_m17n.rb (TestIO_M17N#test_{cr,lf,crlf}_decorator_on_stdout): test above changes. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io_m17n.rbusa2011-11-071-0/+20
| | | | | | | | (TestIO_M17N#test_default_stdout_stderr_mode): new test for r33627-33629. see [backport #5565] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33649 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io_m17n.rb (TestIO_M17N#test_{default_mode_on_dosish,usa2011-09-011-6/+6
| | | | | | | | | default_mode_on_unix,text_mode,binary_mode}): sorry for wrong test committed in r33144. I'd misunderstood the spec of ruby's universal newline. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33152 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io_m17n.rb (TestIO_M17N#test_{default_mode_on_dosish,usa2011-08-311-1/+28
| | | | | | | default_mode_on_unix,text_mode,binary_mode}): tests for [Bug # 5164]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33144 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (io_getc): should be 7bit if ascii. fixes #4557nobu2011-06-111-0/+9
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32000 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (validate_enc_binmode, rb_io_extract_modeenc): set newlinenobu2011-04-261-0/+3
| | | | | | | | decorator according to open mode. * transcode.c (rb_econv_prepare_options): new function, to prepare econv options with newline flags. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31355 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io_m17n.rb (test_io_new_enc): "sjis" is now an aliasnagachika2011-03-091-1/+1
| | | | | | of Windows-31J. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31078 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby: uniquify test names.nobu2011-02-111-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30837 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_extract_encoding_option): accept Encoding object asnobu2010-12-251-3/+43
| | | | | | encoding: optional argument. [ruby-dev:42884] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30349 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io.rb (TestIO#pipe): should close write end of pipeusa2010-10-271-4/+4
| | | | | | | | | before closing read end, to get rid of timing problem. * test/ruby/test_io_m17n.rb (TestIO_M17N#pipe): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ruby/test_io_m17n.rb (TestIO_M17N#pipe): fixed the mistake of previoususa2010-10-271-2/+2
| | | | | | | commit. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29608 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io.rb (TestIO#pipe): need to propagate exceptionsusa2010-10-271-5/+22
| | | | | | | | | in read/write thread. fix r29541. * test/ruby/test_io_m17n.rb (TestIO_M17N#pipe): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29607 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io.rb (TestIO#pipe): get rid of deadlock on pipe.nobu2010-10-201-336/+451
| | | | | | | | a patch from Tomoyuki Chikanaga at [ruby-dev:42435]. #3970 * test/ruby/test_io_m17n.rb (TestIO_M17N#pipe): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29541 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix test; escape a backslash.naruse2010-10-121-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_ungetc): use unsigned int for GB18030.naruse2010-10-121-0/+24
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_putc): support multibyte characters.naruse2010-10-121-0/+10
| | | | | | [ruby-core:30697] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_puts): fix for wide char encoding strings.nobu2010-09-151-0/+18
| | | | | | [ruby-dev:42212] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29256 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io_m17n.rb (test_textmode_paragraph_nonasciicompat): shouldusa2010-07-061-0/+14
| | | | | | | | | | match the modes of both end of pipe as text mode. * test/ruby/test_io_m17n.rb (test_binmode_paragraph_nonasciicompat): new test for binmode. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28555 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (swallow, prepare_getline_args, rb_io_getline_1): fix fornobu2010-07-041-0/+13
| | | | | | | | paragraph mode reading in non-ascii-compatible encoding. [ruby-dev:41803] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28537 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (parse_mode_enc): set set_by_bom bit. [ruby-core:30641]nobu2010-06-071-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28199 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io_m17n.rb (test_textmode_paragraph_binaryread):nobu2010-05-131-2/+0
| | | | | | use opened pipes by with_pipe. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27791 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add a test.akr2010-05-131-0/+12
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27787 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io_m17n.rb (TestIO_M17N#test_cbuf_select),nobu2010-05-131-11/+11
| | | | | | (TestIO_M17N#test_textmode_paragraphmode): close pipes. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io_m17n.rb (test_stdin_external_encoding_with_reopen): skipusa2010-05-131-0/+1
| | | | | | | on Windows. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27775 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add a test.akr2010-05-121-8/+15
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27762 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (select_internal): IO which cbuf is not empty is readable.akr2010-04-261-0/+10
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27506 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c: raise IOError when byte oriented operations occur withakr2010-04-241-0/+33
| | | | | | | | non-empty character buffer. [ruby-dev:40493] [ruby-dev:40506] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27470 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* remove debug print.naruse2010-04-221-1/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27443 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (io_getc): fix incomplete character immediately before EOFnaruse2010-04-211-0/+19
| | | | | | | | | with newline converter. [ruby-dev:41024] run test only when "Create Shortcut (&S)" menu is found. * lib/rexml/parsers/xpathparser.rb (PathExpr): ditto. * lib/matrix.rb (Vector#each): make Vector enumerable. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27432 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (io_getc): set read_encoding to resulted one characternaruse2010-04-201-0/+15
| | | | | | string. [ruby-dev:41023] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * enc/trans/newline.trans (fun_so_universal_newline): generate \nakr2009-11-221-2/+0
| | | | | | | | after \r\n detection instead of just after \r. [ruby-list:45988] [ruby-core:25881] [ruby-core:26788] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25883 b2dd03c8-39d4-4d8f-98ff-823fe69b080e