Sha256: df015c7634c51b58fd9ac0a27f95b4c7cd07cbe97e2944ca3a6b546d50fda9b8

Contents?: true

Size: 1.14 KB

Versions: 7

Compression:

Stored size: 1.14 KB

Contents

# frozen_string_literal: true

RSpec.describe PageMagic::Drivers do
  describe '#find' do
    it 'returns the registered driver' do
      drivers = described_class.new
      expected_driver = PageMagic::Driver.new(:browser_driver)

      drivers.register expected_driver
      expect(drivers.find(:browser_driver)).to eq(expected_driver)
    end
  end

  describe '#load' do
    require 'tmpdir'

    def scratch_dir
      @scratch_dir ||= Dir.mktmpdir
    end

    let(:class_definition) do
      <<-RUBY
        class CustomDriver;
          def self.support?(_browser)
            true
          end
        end
      RUBY
    end

    it 'loads the drivers in the specified path' do
      File.write("#{scratch_dir}/custom_driver.rb", class_definition)

      drivers = described_class.new
      drivers.load(scratch_dir)
      expect(drivers.find(:custom_browser)).to be(::CustomDriver)
    end
  end

  describe '#register' do
    it 'stores the driver' do
      drivers = described_class.new
      expected_driver = PageMagic::Driver.new(:browser_driver)
      drivers.register expected_driver
      expect(drivers.all).to eq([expected_driver])
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
page_magic-2.0.6 spec/page_magic/drivers_spec.rb
page_magic-2.0.5 spec/page_magic/drivers_spec.rb
page_magic-2.0.4 spec/page_magic/drivers_spec.rb
page_magic-2.0.3 spec/page_magic/drivers_spec.rb
page_magic-2.0.2 spec/page_magic/drivers_spec.rb
page_magic-2.0.1 spec/page_magic/drivers_spec.rb
page_magic-2.0.0 spec/page_magic/drivers_spec.rb