Sha256: 59135d88ccc3836ed8a71f8ba68d180a45546c118d4d7293c72625f67a364d65

Contents?: true

Size: 1.1 KB

Versions: 8

Compression:

Stored size: 1.1 KB

Contents

Spec::Runner.configure do |config| #:nodoc:
  config.include(WatiRspec::SpecHelper)

  config.before(:all) do
    open_browser_at "about:blank"
  end

  config.after(:all) do
    close
  end
end

module Spec #:nodoc:all
  class ExampleGroup
    subject {self}
  end
end

# match_array is useful for matching arrays where some elements are regular expressions.
#    expected_array = ["1", "2", /\d+/, "3"]
#
#    ["1", "2", "66", "3"].should match_array(expected_array)
#    table(:id => "table_id").to_a.should match_array(expected_array)
Spec::Matchers.define :match_array do |array2|
  match do |array1|
    raise "match_array works only with Array objects!" unless array1.is_a?(Array) && array2.is_a?(Array)
    match?(array1, array2)
  end

  def match?(array1, array2)
    array2.each_with_index do |element, i|
      if element.is_a?(Array)
        return false unless match?(array1[i], element)
      elsif element.is_a?(Regexp)
        return false unless array1[i] =~ element
      else
        return false unless array1[i] == element
      end
    end

    true
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
watirspec-0.1.9.1 lib/watirspec/spec.rb
watirspec-0.1.8 lib/watirspec/spec.rb
watirspec-0.1.7 lib/watirspec/spec.rb
watirspec-0.1.6 lib/watirspec/spec.rb
watirspec-0.1.5 lib/watirspec/spec.rb
watirspec-0.1.4 lib/watirspec/spec.rb
watirspec-0.1.3 lib/watirspec/spec.rb
watirspec-0.1.2 lib/watirspec/spec.rb