summaryrefslogtreecommitdiff
path: root/spec/ruby/core/string/each_grapheme_cluster_spec.rb
blob: b45d89ecb0485abe35f1955203e3426ed0d55097 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
require_relative 'shared/chars'
require_relative 'shared/grapheme_clusters'
require_relative 'shared/each_char_without_block'

describe "String#each_grapheme_cluster" do
  it_behaves_like :string_chars, :each_grapheme_cluster
  it_behaves_like :string_grapheme_clusters, :each_grapheme_cluster
  it_behaves_like :string_each_char_without_block, :each_grapheme_cluster

  ruby_version_is '3.0' do
    it "yields String instances for subclasses" do
      a = []
      StringSpecs::MyString.new("abc").each_grapheme_cluster { |s| a << s.class }
      a.should == [String, String, String]
    end
  end
end