Sha256: e323d8f7fffff9c3593e9978cd00b25c00a0d5334ad5218694741a6e3bc06baf

Contents?: true

Size: 1009 Bytes

Versions: 4

Compression:

Stored size: 1009 Bytes

Contents

require 'page_magic/drivers'

module PageMagic

  describe Drivers do
    subject { described_class.new }
    let(:expected_driver) { Driver.new(:browser_driver) }
    describe '#register' do
      it 'stores the driver' do
        subject.register expected_driver
        expect(subject.all).to eq([expected_driver])
      end
    end

    describe '#find' do
      it 'returns the registered driver' do
        subject.register expected_driver
        expect(subject.find(:browser_driver)).to eq(expected_driver)
      end
    end

    describe '#load' do
      include_context :files
      it 'loads the drivers in the specified path' do

        class_definition=<<-RUBY
          class CustomDriver;
            def self.support? browser
              true
            end
          end
        RUBY

        File.write("#{scratch_dir}/custom_driver.rb", class_definition )

        subject.load(scratch_dir)
        expect(subject.find(:custom_browser)).to be(::CustomDriver)
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
page_magic-1.0.0.alpha4 spec/page_magic/drivers_spec.rb
page_magic-1.0.0.alpha3 spec/page_magic/drivers_spec.rb
page_magic-0.11.0.alpha8 spec/page_magic/drivers_spec.rb
page_magic-0.11.0.alpha7 spec/page_magic/drivers_spec.rb