aboutsummaryrefslogtreecommitdiffstats
path: root/test/ruby/test_m17n.rb
Commit message (Collapse)AuthorAgeFilesLines
* Windows: Read ENV names and values as UTF-8 encoded Strings (#3818)Lars Kanis2020-12-081-3/+7
| | | | | | | | | | | | | | | | | | | | | * Windows: Read ENV names and values as UTF-8 encoded Strings Implements issue #12650: fix https://bugs.ruby-lang.org/issues/12650 This also removes the special encoding for ENV['PATH'] and some complexity in the code that is unnecessary now. * Windows: Improve readablity of getenv() encoding getenv() did use the expected codepage as an implicit parameter of the macro. This is mis-leading since include/ruby/win32.h has a different definition. Using the "cp" variable explicit (like the other function calls) makes it more readable and consistent. * Windows: Change external C-API macros getenv() and execv() to use UTF-8 They used to process and return strings with locale encoding, but since all ruby-internal spawn and environment functions use UTF-8, it makes sense to change the C-API equally.
* test/json/test_helper.rb: Do not add a relative path to $LOAD_PATHYusuke Endoh2020-03-241-10/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... because it conflicts with test/ruby/test_m17n.rb. An exception `incompatible character encodings: UTF-8 and UTF-16BE` occurs when: * a non-existence relative path is added to $LOAD_PATH, * ASCII-incompatible encoding is set to default_external, and * some file is loaded. ``` $LOAD_PATH << "no_existing_dir" Encoding.default_external = Encoding::UTF_16BE load "dummy.rb" #=> incompatible character encodings: UTF-8 and UTF-16BE ``` This issue can be actually observed by a combination of out-of-place build and the following command: make test-all TESTS="json ruby/m17n -n test_object_inspect_external" http://ci.rvm.jp/logfiles/brlog.trunk-test-random.20200322-221411 ASCII-incompatible default external encoding assumes that the cwd is the encoding, and it is attempted to beconcatenated with a non-existence relative LOAD_PATH UTF-8 string, which causes the exception. This changeset avoids a relative path.
* test/ruby/test_m17n.rb: Update the debugging code to get C stacktraceYusuke Endoh2020-03-231-22/+3
|
* test/ruby/test_m17n.rb: Make the debugging code print to stderrYusuke Endoh2020-03-231-15/+15
| | | | The test is executed with -j8, so printing someting to stdout may break.
* test/ruby/test_m17n.rb: Add a temporal code for debuggingYusuke Endoh2020-03-221-0/+30
| | | | | | | | | http://ci.rvm.jp/logfiles/brlog.trunk-test-random.20200322-221411 ``` I, [2020-03-22T22:15:50.761950 #23076] INFO -- : 1) Error: I, [2020-03-22T22:15:50.761963 #23076] INFO -- : TestM17N#test_object_inspect_external: I, [2020-03-22T22:15:50.761974 #23076] INFO -- : Encoding::CompatibilityError: incompatible character encodings: UTF-8 and UTF-16BE ```
* Deprecate taint/trust and related methods, and make the methods no-opsJeremy Evans2019-11-181-15/+0
| | | | | | This removes the related tests, and puts the related specs behind version guards. This affects all code in lib, including some libraries that may want to support older versions of Ruby.
* Check that String#scrub block does not modify receiverJeremy Evans2019-07-021-0/+13
| | | | | | | Similar to the check used for String#gsub. Can fix possible segfault. Fixes [Bug #15941]
* Suppress unused variable warningsNobuyoshi Nakada2019-06-301-0/+2
|
* string.c: respect the actual encodingnobu2019-03-051-0/+7
| | | | | | | | * string.c (rb_enc_str_coderange): respect the actual encoding of if a BOM presents, and scan for the actual code range. [ruby-core:91662] [Bug #15635] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67167 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* setbyte / ungetbyte allow out-of-range integersshyouhei2019-01-151-7/+7
| | | | | | | | | | | | * string.c: String#setbyte to accept arbitrary integers [Bug #15460] * io.c: ditto for IO#ungetbyte * ext/strringio/stringio.c: ditto for StringIO#ungetbyte git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66824 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: setbyte silently ignores upper bitsshyouhei2018-11-191-0/+11
| | | | | | | | The behaviour of String#setbyte has been depending on the width of int, which is not portable. Must check explicitly. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65804 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: fix dumped suffixnobu2018-04-161-1/+4
| | | | | | | * string.c (rb_str_dump): get rid of an error on evaling with frozen-string-literal enabled. [ruby-core:86539] [Bug #14687] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63164 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* refine a warning message.akr2017-03-021-6/+6
| | | | | | | | | The "n" option for regexp, /.../n, is historical. It doesn't mean the regexp works as binary match since Ruby 1.9. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57759 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* refine warning message for binary regexp /.../n.akr2017-02-221-6/+6
| | | | | | | | Reported by Herwin W. [ruby-core:78592] [Bug #13024] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: replacement and blocknobu2017-01-111-0/+2
| | | | | | | * string.c (rb_enc_str_scrub): only one of replacement and block is allowed. [ruby-core:79038] [Bug #13119] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57304 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: yield invalid partnobu2017-01-111-3/+3
| | | | | | | * string.c (rb_enc_str_scrub): yield the invalid part only with ASCII-incompatible. [ruby-core:79039] [Bug #13120] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57303 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: block for scrub with ASCII-incompatiblenobu2017-01-111-0/+5
| | | | | | | * string.c (rb_enc_str_scrub): honor the given block with ASCII-incompatible encoding. [ruby-core:79039] [Bug #13120] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57302 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_m17n.rb: escapenobu2016-12-121-4/+4
| | | | | | | * test/ruby/test_m17n.rb (test_regexp_ascii_none): escape regexp meta characters. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57054 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: skip invalid char gapnobu2016-03-211-0/+5
| | | | | | | | * string.c (enc_succ_alnum_char): try to skip an invalid character gap between GREEK CAPITAL RHO and SIGMA. [ruby-core:74478] [Bug #12204] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54210 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/ruby: suppress runtime warningsnobu2016-02-191-7/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53873 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: no exception on dummy encodingnobu2015-12-221-0/+6
| | | | | | | * string.c (str_compat_and_valid): as scrub does nothing for dummy encoding string now, incompatible encoding is not a matter. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53235 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: infectionnobu2015-12-171-2/+16
| | | | | | | * string.c (rb_str_scrub): the result should be infected by the original string. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53169 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Add frozen_string_literal: false for all filesnaruse2015-12-161-0/+1
| | | | | | When you change this to true, you may need to add more tests. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test: use String#b instead of dup.force_encodingnobu2015-12-141-3/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53109 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * object.c (rb_inspect): check the default internal encoding asshugo2015-12-131-0/+13
| | | | | | | | String#inspect do. [ruby-dev:49415] [Bug #11787] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53067 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * object.c (rb_inspect): dump inspected result with rb_str_escape()naruse2015-12-101-3/+8
| | | | | | | | | | instead of raising Encoding::CompatibilityError. [Feature #11801] * string.c (rb_str_escape): added to dump given string like rb_str_inspect without quotes and always dump in US-ASCII like rb_str_dump. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53027 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: keep coderangenobu2015-09-161-0/+25
| | | | | | * string.c (rb_str_setbyte): keep the code range as possible. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51873 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* re.c: fix wchar match at EOSnobu2015-08-261-0/+8
| | | | | | | | | * re.c (rb_memsearch_wchar, rb_memsearch_qchar): test matching till the end of string. [ruby-core:70592] [Bug #11488] * test/ruby/test_m17n.rb (test_include?, tet_index): add tests by Tom Stuart. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51685 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* re.c: fix for wide character encodingsnobu2015-08-031-0/+3
| | | | | | | * re.c (rb_memsearch): should match only char boundaries in wide character encodings. [ruby-core:70220] [Bug #11413] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51470 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: fix coderange of reversenobu2015-07-221-1/+6
| | | | | | | | * string.c (rb_str_reverse): reversed string is not a substring, and should not set coderange of the original string. [ruby-dev:49189] [Bug #11387] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51344 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_m17n.rb: split test_scrubnobu2015-01-021-1/+15
| | | | | | | * test/ruby/test_m17n.rb (TestM17N#test_scrub): split into some tests. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49096 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* re.c: append excape sequence as-isnobu2014-12-291-0/+9
| | | | | | | | * re.c (unescape_nonascii): append excape sequence as-is not unescaped character, to get rid of unexpected meta-character. [ruby-core:67193] [Bug #10670] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49058 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: fix coderange for non-endianness stringnobu2014-12-151-0/+8
| | | | | | | | * string.c (rb_enc_str_coderange): dummy wchar, non-endianness encoding string cannot be ascii only. [ruby-core:66835] [Bug #10598] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48845 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/lib/envutil.rb: Moved from test/ruby/.akr2014-11-131-1/+0
| | | | | | | | | | | | | | * test/lib/find_executable.rb: Ditto. * test/lib/memory_status.rb: Ditto. * test/lib/test/unit.rb: require envutil. * test/: Don't require envutil in test files. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* re.c: mak eregexps with binary escapes ASCII-8BITnobu2014-10-171-0/+3
| | | | | | | | | * re.c (unescape_nonascii): make dynamically compiled US-ASCII regexps ASCII-8BIT encoding if binary (hexadecimal, control, meta) escapes are contained, as well as literal regexps. [ruby-dev:48626] [Bug #10382] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47992 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: fix wrong single-byte optimizationnobu2014-07-221-0/+5
| | | | | | | | * string.c (rb_str_count): fix wrong single-byte optimization. 7bit ascii can be a trailing byte in Shift_JIS. [ruby-dev:48442] [Bug #10078] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46896 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: respect BOMnobu2014-01-151-0/+9
| | | | | | | * string.c (get_encoding): respect BOM on pseudo encodings. [ruby-dev:47895] [Bug #9415] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44606 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: use actual encodingsnobu2014-01-151-0/+4
| | | | | | | | | * string.c (get_actual_encoding): get actual encoding according to the BOM if exists. * string.c (rb_str_inspect): use according encoding, instead of pseudo encodings, UTF-{16,32}. [ruby-core:59757] [Bug #8940] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44605 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_m17n.rb: split tests for inspectnobu2014-01-151-12/+10
| | | | | | | * test/ruby/test_m17n.rb (test_utf_16_32_inspect): split tests for each encodings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44604 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/ruby: better assertionsnobu2013-12-131-28/+28
| | | | | | * test/ruby: use better assertions instead of mere assert. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44173 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * doc/contributing.rdoc: [DOC] Fix typo in comments by @dvsuresh [Fixes GH-475]a_matsuda2013-12-121-1/+1
| | | | | | | | | | * ext/openssl/ossl_ssl.c: ditto. * test/ruby/test_m17n.rb: ditto. https://github.com/ruby/ruby/pull/475 [ci-skip] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_m17n.rb: fix encodingnobu2013-11-011-1/+1
| | | | | | | * test/ruby/test_m17n.rb (test_scrub): fix expected encoding, for non-UTF-8 environment. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43507 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: fix typonobu2013-11-011-0/+3
| | | | | | | * string.c (rb_str_scrub): fix typo, should yield invalid byte sequence to be scrubbed. reported by znz at IRC. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_m17n.rb: nil replacementnobu2013-11-011-0/+2
| | | | | | | * test/ruby/test_m17n.rb (test_scrub, test_scrub_bang): now explicit nil is allowed as replacement. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y: Remove +(binary) and -(binary) special cases [Feature #9048]marcandre2013-10-241-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Add a test for r42162naruse2013-07-251-0/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42163 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/-ext-/test_printf.rb, test/rss/test_parser.rb,shugo2013-06-131-2/+0
| | | | | | | | | | test/ruby/test_array.rb, test/ruby/test_hash.rb, test/ruby/test_m17n.rb, test/ruby/test_marshal.rb, test/ruby/test_object.rb, test/ruby/test_string.rb: don't use untrusted?, untrust, and trust to avoid warnings in case $VERBOSE is true. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41271 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (String#b): Allow code range scan to happen later soknu2013-06-051-0/+2
| | | | | | | ascii_only? on a result string returns the correct value. [ruby-core:55315] [Bug #8496] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41092 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (str_scrub_bang): add String#scrub!. [Feature #8414]naruse2013-05-181-0/+17
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40810 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: fix for UTF-32nobu2013-04-231-0/+6
| | | | | | | | * string.c (rb_str_scrub): fix for UTF-32. strlen() on strings contain NUL returns wrong result, use sizeof operator instead. [ruby-dev:45975] [Feature #6752] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40417 b2dd03c8-39d4-4d8f-98ff-823fe69b080e