Sha256: dc7b2754a43b33d05e2d1b038852e0ac08dd43b9ad79c9bb8ce4a47773bb95f2

Contents?: true

Size: 1.1 KB

Versions: 5

Compression:

Stored size: 1.1 KB

Contents

Spec::Runner.configure do |config| #:nodoc:
  config.include(WatirSplash::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

5 entries across 5 versions & 1 rubygems

Version Path
watirsplash-0.2.3 lib/watirsplash/spec.rb
watirsplash-0.2.2 lib/watirsplash/spec.rb
watirsplash-0.2.1 lib/watirsplash/spec.rb
watirsplash-0.2.0 lib/watirsplash/spec.rb
watirsplash-0.1.9 lib/watirsplash/spec.rb