Sha256: 62aa93fd64792a9be838c69a57fd5991d256a46d17b42cd45b21db4ef6ded235

Contents?: true

Size: 1.43 KB

Versions: 1

Compression:

Stored size: 1.43 KB

Contents

# encoding: utf-8
require 'spec_helper'

describe PacManager do
  context '#find' do
    let(:valid_pac_file) do <<-EOS.strip_heredoc
                           function FindProxyForURL(url, host) {
                             return "DIRECT"
                           }
                           EOS
    end

    it 'finds the file in given path' do
      directory = create_directory 'pac_files'
      file_path = create_file 'pac_files/file1.pac', valid_pac_file
      create_file 'pac_files/file2.pac'

      manager = PacManager.new(directory)
      file = manager.find('file1')
      expect(file.path).to eq(file_path)
    end

    it 'returs a null object if cannot be found' do
      manager = PacManager.new('/tmp')
      file = manager.find('file1')
      expect(file.nil?).to be_true
    end

    it 'caches files' do
      directory = create_directory 'pac_files'
      file_path = create_file 'pac_files/file1.pac', valid_pac_file

      manager = PacManager.new(directory)
      file = manager.find('file1')
      expect(file.path).to eq(file_path)

      delete_file 'pac_files/file1.pac'

      file = manager.find('file1')
      expect(file.path).to eq(file_path)
    end
    
    it 'ignores invalid pac files' do
      directory = create_directory 'pac_files'
      create_file 'pac_files/file1.pac', 'asdfasdf'

      manager = PacManager.new(directory)
      file = manager.find('file1.pac')
      expect(file.nil?).to be_true
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
local_pac-0.0.7 spec/pac_manager_spec.rb