Sha256: f8d4e858a9cb9a549e9376a9f5aa0011b48f12ad07e8f4a98c95d1b448ee1ad8

Contents?: true

Size: 1.41 KB

Versions: 8

Compression:

Stored size: 1.41 KB

Contents

module WatirSpec
  class Implementation

    attr_writer :name, :guard_proc, :browser_class
    attr_accessor :browser_args

    def initialize
      @guard_proc = nil
    end

    def browser_class
      @browser_class || raise("browser_class not set")
    end

    def name
      @name || raise("implementation name not set")
    end

    def matches_guard?(args)
      return @guard_proc.call(args) if @guard_proc

      args.include? name
    end

    def matching_guards_in(guards)
      result = []
      guards.each { |args, data| data.each {|d| result << d } if matches_guard?(args) }

      result
    end

  end # Implementation
end # WatirSpec

if __FILE__ == $0
  require "rubygems"
  require 'spec/autorun'

  describe WatirSpec::Implementation do
    before { @impl = WatirSpec::Implementation.new }

    it "finds matching guards" do
      guards = {[:watir]=>[{:name=>:not_compliant, :data=>{:file=>"./spec/watirspec/div_spec.rb:108"}}, {:name=>:deviates, :data=>{:file=>"./spec/watirspec/div_spec.rb:114"}}, {:name=>:not_compliant, :data=>{:file=>"./spec/watirspec/div_spec.rb:200"}}, {:name=>:bug, :data=>{:file=>"./spec/watirspec/div_spec.rb:228", :key=>"WTR-350"}}], [:celerity]=>[{:name=>:deviates, :data=>{:file=>"./spec/watirspec/div_spec.rb:143"}}]}
      @impl.name = :celerity
      @impl.matching_guards_in(guards).should == [{:name => :deviates, :data => {:file=>"./spec/watirspec/div_spec.rb:143"}}]
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
watir-webdriver-0.1.4 spec/watirspec/lib/implementation.rb
watir-webdriver-0.1.3 spec/watirspec/lib/implementation.rb
watir-webdriver-0.1.2 spec/watirspec/lib/implementation.rb
watir-webdriver-0.1.1 spec/watirspec/lib/implementation.rb
watir-webdriver-0.1.0 spec/watirspec/lib/implementation.rb
watir-webdriver-0.0.9 spec/watirspec/lib/implementation.rb
watir-webdriver-0.0.8 spec/watirspec/lib/implementation.rb
watir-webdriver-0.0.7 spec/watirspec/lib/implementation.rb