summaryrefslogtreecommitdiff
path: root/test/ruby/test_string.rb
Commit message (Collapse)AuthorAgeFilesLines
* * string.c (rb_str_crypt): Raise ArgumentError whenglass2015-05-101-0/+1
| | | | | | | | | | string passed to String#crypt contains null. the patch is from jrusnack <jrusnack at redhat.com>. [Bug #10988] [fix GH-853] * test/ruby/test_string.rb: test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: proper exceptionnobu2015-02-231-0/+18
| | | | | | | | * string.c (rb_str_split_m): raise ArgumentError at broken string not RegexpError, as Regexp is not involved in. [ruby-core:68229] [Bug #10886] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49695 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: check arguments for cryptnobu2014-12-121-0/+8
| | | | | | | | * string.c (rb_str_crypt): check arguments more strictly. * crypt() is not for wide char strings * salt bytes should not be NUL git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48779 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: preserve encoding of global variablenobu2014-11-231-0/+5
| | | | | | | * string.c (rb_str_setter): preserve encoding of global variable name in error message. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48549 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
* * Avoid undefined behaviors found by gcc -fsanitize=undefined.akr2014-10-171-1/+3
| | | | | | | | | | gcc (Debian 4.9.1-16) 4.9.1 * string.c (rb_str_sum): Avoid undefined behavior. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47997 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_string.rb: enable huge test only on possible platformsnobu2014-10-061-1/+2
| | | | | | | | | | | * test/ruby/test_string.rb (test_LSHIFT_neary_long_max): enable only on platforms where string size range is smaller than memory space. this test does not make sense but just wastes memory and time on other platforms, as it is hardly possible that a string size becomes neary LONG_MAX if long size equals pointer size. [ruby-core:65410] [Bug #10325] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_string.rb: move and add assertionsnobu2014-05-301-2/+5
| | | | | | | | * test/ruby/test_string.rb (test_slice): move the assertion for [Bug #9882], and more assertion for `ascii_only?` too, as pointed out by Heesob Park in [ruby-core:62846]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: reset code rangenobu2014-05-301-0/+2
| | | | | | | | * string.c (rb_str_substr): need to reset code range for shared string too, not only copied string. [ruby-core:62842] [Bug #9882] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* more insrease timeout of test_LSHIFT_neary_long_maxnaruse2014-05-201-1/+1
| | | | | | http://chkbuild002.hsbt.org/chkbuild/ruby-trunk/log/20140520T060016Z.fail.html.gz git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46028 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: byte offsetnobu2014-05-191-0/+3
| | | | | | | * string.c (rb_pat_search): advance by byte offset but not by char offset. [ruby-core:62669] [Bug #9849] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46013 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* increase timeout 10 to 15 on test_LSHIFT_neary_long_maxnaruse2014-05-181-1/+1
| | | | | | | http://chkbuild002.hsbt.org/chkbuild/ruby-trunk/log/20140517T160021Z.fail.html.gz http://chkbuild002.hsbt.org/chkbuild/ruby-trunk/log/20140517T200036Z.fail.html.gz git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45994 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: fix capacitynobu2014-04-091-0/+11
| | | | | | | * string.c (str_buf_cat): should round up the capacity by 4KiB, but not number of rooms. [ruby-core:61886] [Bug #9709] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45534 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: infect match resultnobu2014-03-281-0/+2
| | | | | | | * string.c (rb_pat_search): match result should be infected by the pattern. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45460 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: backref substitutionnobu2014-03-281-0/+2
| | | | | | | | | * re.c (rb_reg_regsub): allow nil regexp for string matching. * string.c (rb_str_sub_bang, str_gsub): make substitution if replacement string has backref escapes. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45459 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: unset $~ if unmatchnobu2014-03-281-0/+8
| | | | | | * string.c (rb_pat_search): unset $~ if the last match failed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: search by rb_str_indexnobu2014-03-271-0/+8
| | | | | | | | | | | | * re.c (match_regexp): set regexp for MatchData from string. * re.c (rb_backref_set_string): create MatchData from string and set backref. * string.c (rb_pat_search, rb_str_sub, rb_str_sub_bang, str_gsub), (scan_once, rb_str_scan, rb_str_partition): use rb_str_index instead of rb_reg_search() when pattern is a String. based on the patch by Sam Rawlins <sam.rawlins@gmail.com> [Fixes GH-579] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* insns.def (opt_regexpmatch2): respect redefined match opnormal2014-03-111-0/+13
| | | | | | | | | * insns.def (opt_regexpmatch2): respect redefined match op Thanks to Sam Rawlins for the fix. * test/ruby/test_string.rb: test based on Tsuyoshi Sawada's report [Bug #9581] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45318 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* siphash.c: fix missing conditionnobu2013-11-301-0/+2
| | | | | | | * siphash.c (sip_hash24): fix for aligned word access little endian platforms. [ruby-core:58658] [Bug #9172] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43928 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_string.rb: Add test for error when appending aheadius2013-11-271-0/+1
| | | | | | Symbol into a String. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_string.rb: refine assertionsnobu2013-11-221-29/+30
| | | | | | * test/ruby/test_string.rb: refine assertions, instead of mere assert. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y: remove "f" suffix [ruby-core:57966] [Feature #9042]nobu2013-11-101-54/+0
| | | | | | | | | | | | | | | | | | | | | | revert r42847 "test_string.rb: add test string encoding" revert r42846 "parse.y: freeze in advance to reduce objects" revert r42843 "parse.y: deduplicate frozen string literals" revert r42780 "test_string.rb: yet another test" revert r42779 "parse.y: valid suffix word only" revert r42778 "test_string.rb: remove duplicated code" revert r42775 "parse.y: force_encoding" This reverts commit 93ea04ecec7639ca8d0e58948e78461434782ecc. revert r42773 "Add frozen string literals" git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43634 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_regexp.rb, test_string.rb: suppress warningsnobu2013-10-011-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43105 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_regexp.rb, test_string.rb: use assert_separatelynobu2013-10-011-2/+2
| | | | | | | | * test/ruby/test_regexp.rb (test_eq_tilde_can_be_overridden): use assert_separately to suppress a warning. * test/ruby/test_string.rb (test_eq_tilde_can_be_overridden): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43104 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_regexp.rb, test_string.rb: suppress warningsnobu2013-10-011-0/+1
| | | | | | | | * test/ruby/test_regexp.rb (test_eq_tilde_can_be_overridden): suppress a warning. * test/ruby/test_string.rb (test_eq_tilde_can_be_overridden): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43101 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insns.def (opt_regexpmatch2): Check String#=~ hasn't overriddensorah2013-09-261-0/+12
| | | | | | | | | | | | before calling rb_reg_match(). * test/ruby/test_string.rb: Test for above. * vm.c (vm_init_redefined_flag): Add BOP flag for String#=~ [ruby-core:57385] [Bug #8953] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43052 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (fstring_cmp): take string encoding into account whencharliesome2013-09-051-0/+7
| | | | | | | | comparing fstrings [ruby-core:57037] [Bug #8866] * test/ruby/test_string.rb: add test git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42847 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h: add RSTRING_FSTR flagcharliesome2013-09-051-0/+6
| | | | | | | | | | | | * internal.h: add rb_fstring() prototype * parse.y (str_suffix_gen): deduplicate frozen string literals * string.c (rb_fstring): deduplicate frozen string literals * string.c (rb_str_free): delete fstrings from frozen_strings table when they are GC'd * string.c (Init_String): initialize frozen_strings table * test/ruby/test_string.rb: test frozen strings are deduplicated git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_string.rb: yet another testnobu2013-09-021-0/+11
| | | | | | | * test/ruby/test_string.rb (TestString#test_frozen_string_adjacent): option is allowed after the last string. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42780 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y: valid suffix word onlynobu2013-09-021-2/+5
| | | | | | | * parse.y (parser_str_options): use valid suffix word only, as well as numeric literal, for the backward comatibility. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42779 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_string.rb: remove duplicated codenobu2013-09-021-7/+1
| | | | | | | * test/ruby/test_string.rb (TestString#test_frozen_dstring): remove duplicated assertion. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42778 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * NEWS: Add note about frozen string literalscharliesome2013-09-021-0/+43
| | | | | | | | | | | | | | | | | * compile.c (case_when_optimizable_literal): optimize NODE_LIT strings in when clauses of case statements * ext/ripper/eventids2.c: add tSTRING_SUFFIX * parse.y: add 'f' suffix on string literals for frozen strings * test/ripper/test_scanner_events.rb: add scanner tests * test/ruby/test_string.rb: add frozen string tests [Feature #8579] [ruby-core:55699] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42773 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_string.rb: Bug #8642nobu2013-07-161-0/+11
| | | | | | | * test/ruby/test_string.rb (test_split): test for r41994. [ruby-core:56036] [Bug #8642] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42002 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/-ext-/test_printf.rb, test/rss/test_parser.rb,shugo2013-06-131-40/+20
| | | | | | | | | | 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 (rb_str_inspect): refix r40413, on Ruby 1.9 usual characternaruse2013-04-231-2/+4
| | | | | | | escape uses hex/Unicode escapes, so fix to use Unicode escape on Unicode strings and hex on others. [ruby-core:54458] [Bug #8290] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40423 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_inspect): NUL should not be represented asknu2013-04-231-0/+6
| | | | | | "\0" when octal digits may follow. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix String#rpartition(/re/) against a multibyte string.knu2013-03-241-0/+7
| | | | | | | * string.c (rb_str_rpartition): Fix String#rpartition(/re/) against a multibyte string. [Bug #8138] [ruby-dev:47183] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39903 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (str_byte_substr): don't set coderange if it's not known.naruse2013-02-251-0/+4
| | | | | | [Bug #7954] [ruby-dev:47108] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39495 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_string.rb: defer ENUMERATORS_WANTARRAY to next majornobu2013-02-251-1/+1
| | | | | | | * test/ruby/test_string.rb (TestString::ENUMERATOR_WANTARRAY): defer new behavior to next major. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39494 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_string.rb: ENUMERATORS_WANTARRAYnobu2013-02-251-4/+5
| | | | | | | * test/ruby/test_string.rb (TestString::ENUMERATOR_WANTARRAY): name test branching codition. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39493 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_enumerate_lines): fix invalid byte sequence errorglass2013-01-051-0/+5
| | | | | | | | | | when a separator is passed. The patch is from yoshidam (Yoshida Masato). [Bug #7646] [ruby-dev:46827] * test/ruby/test_string.rb: a test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: compare with to_strnobu2012-11-301-1/+2
| | | | | | | | * string.c (rb_str_cmp_m): try to compare with to_str result if possible before calling <=> method. [ruby-core:49279] [Bug #7342] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38044 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: always fixed valuenobu2012-11-301-1/+1
| | | | | | | * string.c (rb_str_cmp_m): return fixed value, one of -1,0,+1 always. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38042 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* String#{lines,chars,codepoints,bytes} now return an array.knu2012-11-241-6/+113
| | | | | | | | | | | | | | | | | | | | * string.c (rb_str_each_line, rb_str_lines): String#lines now returns an array instead of an enumerator. Passing a block is deprecated but still supported for backwards compatibility. Based on the patch by yhara. [Feature #6670] * string.c (rb_str_each_char, rb_str_chars): Ditto for String#chars. * string.c (rb_str_each_codepoint, rb_str_codepoints): Ditto for String#codepoints. * string.c (rb_str_each_byte, rb_str_bytes): Ditto for String#bytes. * NEWS: Add notes for the above changes. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37838 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Apply performance improvement to short byte array search.knu2012-11-221-0/+7
| | | | | | | | * re.c (rb_memsearch_ss): Apply performance improvement to short byte array search for platforms without memmem(3). [Feature #6311] [ruby-dev:45530] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37793 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Add some corner cases to tests for String#index.knu2012-11-221-0/+7
| | | | | | | | * test/ruby/test_string.rb (TestString#test_index): Add some corner cases to tests for String#index, which might fail if ruby directly used a buggy memmem(3) implementation. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* revert r37710, requested by Tadayoshi Funaba [ruby-dev:46575]shyouhei2012-11-211-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37776 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bignum.c (rb_cstr_to_inum): should accept underscores oftadf2012-11-181-1/+1
| | | | | | | sequence of two or more when unchecked mode. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_string.rb: missing testnobu2012-10-111-0/+6
| | | | | | * test/ruby/test_string.rb (test_each_codepoint): missing test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37142 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_string.rb: suppress warningsnobu2012-10-111-1/+5
| | | | | | | | | | * test/ruby/test_string.rb (test_match_method): use unique objects in TestString and TestString2. * test/ruby/test_string.rb (test_ascii_incomat_inspect): suppress warnings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e