Sha256: 2a6a628eabb6a3e97e9f1e9acaf43e87142c93756385eecfe0147b75538ae250

Contents?: true

Size: 1.04 KB

Versions: 6

Compression:

Stored size: 1.04 KB

Contents

require 'spec_helper'

include Listen

describe Adapter::Polling do
  describe 'class' do
    subject { described_class }
    it { should be_local_fs }
    it { should be_usable }
  end

  subject do
    described_class.new(options.merge(mq: mq, directories: directories))
  end

  let(:options) { {} }
  let(:mq) { instance_double(Listener, options: options) }

  describe '#start' do
    let(:directories) { [Pathname.pwd] }

    it 'notifies change on every listener directories path' do
      expect(mq).to receive(:_queue_raw_change).
        with(:dir, Pathname.pwd, '.', recursive: true)

      t = Thread.new { subject.start }
      sleep 0.25
      t.kill
      t.join
    end
  end

  describe '#_latency' do
    subject do
      adapter = described_class.new(options.merge(mq: mq, directories: []))
      adapter.options.latency
    end

    context 'with no overriding option' do
      it { should eq 1.0 }
    end

    context 'with custom latency overriding' do
      let(:options) { { latency: 1234 } }
      it { should eq 1234 }
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
listen-2.8.4 spec/lib/listen/adapter/polling_spec.rb
listen-2.8.3 spec/lib/listen/adapter/polling_spec.rb
listen-2.8.2 spec/lib/listen/adapter/polling_spec.rb
listen-2.8.1 spec/lib/listen/adapter/polling_spec.rb
listen-2.8.0 spec/lib/listen/adapter/polling_spec.rb
listen-2.7.12 spec/lib/listen/adapter/polling_spec.rb