diff --git a/spec/std/string_spec.cr b/spec/std/string_spec.cr index 5b70deda13c3..2ffe5bf3d1fa 100644 --- a/spec/std/string_spec.cr +++ b/spec/std/string_spec.cr @@ -958,6 +958,7 @@ describe "String" do it { "bar".index('あ').should be_nil } it { "あいう_えお".index('_').should eq(3) } it { "xyz\xFFxyz".index('\u{FFFD}').should eq(3) } + it { "日\xFF語".index('\u{FFFD}').should eq(1) } describe "with offset" do it { "foobarbaz".index('a', 5).should eq(7) } @@ -967,6 +968,8 @@ describe "String" do it { "日本語日本語".index('本', 2).should eq(4) } it { "xyz\xFFxyz".index('\u{FFFD}', 2).should eq(3) } it { "xyz\xFFxyz".index('\u{FFFD}', 4).should be_nil } + it { "日本\xFF語".index('\u{FFFD}', 2).should eq(2) } + it { "日本\xFF語".index('\u{FFFD}', 3).should be_nil } # Check offset type it { "foobarbaz".index('a', 5_i64).should eq(7) } @@ -1110,6 +1113,7 @@ describe "String" do it { "日本語日本語".rindex('本').should eq(4) } it { "あいう_えお".rindex('_').should eq(3) } it { "xyz\xFFxyz".rindex('\u{FFFD}').should eq(3) } + it { "日\xFF語".rindex('\u{FFFD}').should eq(1) } describe "with offset" do it { "bbbb".rindex('b', 2).should eq(2) } @@ -1124,6 +1128,8 @@ describe "String" do it { "日本語日本語".rindex('本', 3).should eq(1) } it { "xyz\xFFxyz".rindex('\u{FFFD}', 4).should eq(3) } it { "xyz\xFFxyz".rindex('\u{FFFD}', 2).should be_nil } + it { "日本\xFF語".rindex('\u{FFFD}', 2).should eq(2) } + it { "日本\xFF語".rindex('\u{FFFD}', 1).should be_nil } # Check offset type it { "bbbb".rindex('b', 2_i64).should eq(2) }