def dropdown_should_include(dropdown, values, scope={})
      in_scope(scope) do
        # If values is a String, convert it to an Array
        values = [values] if values.class == String
        field = nice_find_field(dropdown)
        # Select all expected values that don't appear in the dropdown
        unexpected = values.select do |value|
          !page.has_xpath?(".//option[text()=#{xpath_sanitize(value)}]")
        end
        if !unexpected.empty?
          raise Kelp::Unexpected,
            "Expected '#{dropdown}' dropdown to include: #{values.inspect}" + \
            "\nMissing: #{unexpected.inspect}"
        end
      end
    end
def dropdown_should_include(dropdown, values, scope={})
      in_scope(scope) do
        # If values is a String, convert it to an Array
        values = [values] if values.class == String
        field = nice_find_field(dropdown)
        # Select all expected values that don't appear in the dropdown
        unexpected = values.select do |value|
          !page.has_xpath?(".//option[text()=#{xpath_sanitize(value)}]")
        end
        if !unexpected.empty?
          raise Kelp::Unexpected,
            "Expected '#{dropdown}' dropdown to include: #{values.inspect}" + \
            "\nMissing: #{unexpected.inspect}"
        end
      end
    end
Verify that a given dropdown includes all of the given strings.
 This looks for the visible values in the dropdown, *not* the 'value'
 attribute of each option.

 @example
   dropdown_should_include "Weekday", "Monday"
   dropdown_should_include "Size", ["Small", "Medium", "Large"]

 @param [String] dropdown
   Capybara locator for the dropdown (the `select` element)
 @param [Array] values
   Visible contents you expect to be able to select from the dropdown
 @param [Hash] scope
   Scoping keywords as understood by {#in_scope}

 @raise [Kelp::Unexpected]
   If the given dropdown does not include all `values`