summaryrefslogtreecommitdiff
path: root/spec/ruby/core/enumerator/product/inspect_spec.rb
blob: 1ea8e9c49b6f438355a9c489f61be1f4bccdc507 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
require_relative '../../../spec_helper'

ruby_version_is "3.2" do
  describe "Enumerator::Product#inspect" do
    it "returns a String including enumerators" do
      enum = Enumerator::Product.new([1, 2], [:a, :b])
      enum.inspect.should == "#<Enumerator::Product: [[1, 2], [:a, :b]]>"
    end

    it "represents a recursive element with '[...]'" do
      enum = [1, 2]
      enum_recursive = Enumerator::Product.new(enum)

      enum << enum_recursive
      enum_recursive.inspect.should == "#<Enumerator::Product: [[1, 2, #<Enumerator::Product: ...>]]>"
    end

    it "returns a not initialized representation if #initialized is not called yet" do
      Enumerator::Product.allocate.inspect.should == "#<Enumerator::Product: uninitialized>"
    end
  end
end