Sha256: 6d6a7740307fef5a81917205a2d2dd519c00896d2d4e30a123648fb25a8c565d

Contents?: true

Size: 695 Bytes

Versions: 6

Compression:

Stored size: 695 Bytes

Contents

RSpec::Matchers.define :have_a_submenu do
  match do |actual|
    result = !actual.submenu.nil?
    result &&= actual.submenu.items.size == @count unless @count.nil?
    result
  end

  description do
    desc = "have a submenu"
    desc << " with #{@count} items" unless @count.nil?
    desc
  end

  failure_message do
    msg = "expected menu item to have a submenu"

    unless @count.nil?
      msg << " with #{@count} items but it actually has #{actual.submenu.items.size}"
    end

    msg
  end

  failure_message_when_negated do
    msg = "expected menu item to not have a submenu"
  end

  chain :containing do |count|
    @count = count
  end

  chain(:item) {}
  chain(:items) {}
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
waiter-2.0.5 spec/support/matchers/have_a_submenu.rb
waiter-2.0.4 spec/support/matchers/have_a_submenu.rb
waiter-2.0.3 spec/support/matchers/have_a_submenu.rb
waiter-2.0.2 spec/support/matchers/have_a_submenu.rb
waiter-2.0.1 spec/support/matchers/have_a_submenu.rb
waiter-2.0.0 spec/support/matchers/have_a_submenu.rb