Sha256: 369019597c7291d2afafc94e3adc54b1dba6f1b068a307277233a4f38adb8d62

Contents?: true

Size: 1008 Bytes

Versions: 4

Compression:

Stored size: 1008 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.alpha21 spec/page_magic/drivers_spec.rb
page_magic-1.0.0.alpha20 spec/page_magic/drivers_spec.rb
page_magic-1.0.0.alpha19 spec/page_magic/drivers_spec.rb
page_magic-1.0.0.alpha18 spec/page_magic/drivers_spec.rb