Sha256: 7ab06758257d7825fb71fe7e1677173ac08098228a7979b0930e835c1c672a43

Contents?: true

Size: 1.07 KB

Versions: 5

Compression:

Stored size: 1.07 KB

Contents

require 'retriever'
require 'open-uri'

t = Retriever::Target.new("http://www.cnet.com/reviews/",/\.exe\z/)

describe "Target" do

    it "creates target var" do
      expect(t.target).to eq("http://www.cnet.com/reviews/")
    end

    it "creates host var" do
      expect(t.host).to eq("www.cnet.com")
    end

    it "creates host_re var" do
      expect(t.host_re).to eq(/cnet.com/)
    end

    it "creates file_re var (when provided)" do
      expect(t.file_re).to eq(/\.exe\z/)
    end

    it "adds protocol to Target URL if none given" do
      expect(Retriever::Target.new("cnet.com").target).to eq("http://cnet.com")
    end

    it "fails if given URL has no dot in it" do
      expect{Retriever::Target.new("cnetcom")}.to raise_error
    end

  describe "#source" do

    it "opens URL and returns source as String" do
      expect(Retriever::Target.new("http://techcrunch.com/").source.class).to eq(String)
    end

    it "fails if target redirects to new host" do
      expect{Retriever::Target.new("http://tinyurl.com/nkfkypa").source}.to raise_error
    end
    
  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
rubyretriever-1.1.0 spec/target_spec.rb
rubyretriever-1.0.3 spec/target_spec.rb
rubyretriever-1.0.2 spec/target_spec.rb
rubyretriever-1.0.1 spec/target_spec.rb
rubyretriever-1.0.0 spec/target_spec.rb