kristin 0.4.0 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 374bde35e53e7d5305a326698e290453a1372ae5
4
- data.tar.gz: aea2399fb1bc0207b2e73ae38b86d97ed922518f
3
+ metadata.gz: d0fefe426acb7a04297008f20d984da8399a11be
4
+ data.tar.gz: ebf8d9a58e27cd3149230a84ac718638f990c85a
5
5
  SHA512:
6
- metadata.gz: 3a7400bc756e5ddd789e6005ab6a08197fc85d69c182d35788be10be88c7012ecee1fde64a4d11cff14e27e83eb097b6b6898edac48cb27f83448fb13ac10299
7
- data.tar.gz: f87252c8dc9410cb4c44b6e604105d1b10aa97e4f64eeb0c311b54bac2070108dc309904b7f6fbac2aefbe940e6148ce11a75a2f7448c97f46b1321754a69a72
6
+ metadata.gz: a5aa4b3dc4f38ec7e6e708d2e973223cf703d7c61921f1ad4fa1f49ed0a8eecd72e53b29516991c61f234ec54367f8032a27bd0d28ad9cb8c7da1b5212c31089
7
+ data.tar.gz: d4be95ab1995cf82b7ef2991df528796f88a802bb1a358b8bc1750dd3d111f34ec7a7c78c4d4dbae0d5d3fb9eded77aa95ead963a970af9c4d777fe13bad661e
@@ -76,8 +76,9 @@ module Kristin
76
76
 
77
77
  def determine_source(source)
78
78
  is_file = File.exists?(source) && !File.directory?(source)
79
- is_http = (URI(source).scheme == "http" || URI(source).scheme == "https") && Net::HTTP.get_response(URI(source)).is_a?(Net::HTTPSuccess)
80
- raise IOError, "Source (#{source}) is neither a file nor an URL." unless is_file || is_http
79
+ is_http = URI(source).scheme == "http"
80
+ is_https = URI(source).scheme == "https"
81
+ raise IOError, "Source (#{source}) is neither a file nor an URL." unless is_file || is_http || is_https
81
82
 
82
83
  is_file ? source : download_file(source)
83
84
  end
@@ -1,3 +1,3 @@
1
1
  module Kristin
2
- VERSION = "0.4.0"
2
+ VERSION = "0.4.1"
3
3
  end
@@ -1,6 +1,4 @@
1
1
  require 'spec_helper'
2
- require 'webrick'
3
- include WEBrick
4
2
 
5
3
  describe Kristin do
6
4
 
@@ -12,13 +10,6 @@ describe Kristin do
12
10
  @target_path = "tmp/kristin"
13
11
  @target_file = @target_path + "/output.html"
14
12
  @fast_opts = { process_outline: false, vdpi: 1, hdpi: 1, first_page: 1, last_page: 1 }
15
- dir = File.expand_path(File.join(File.dirname(__FILE__), 'fixtures'))
16
- port = 50510
17
- @url = "http://#{Socket.gethostname}:#{port}"
18
- @t1 = Thread.new do
19
- @server = HTTPServer.new(:Port => port, :DocumentRoot => dir, :AccessLog => [], :Logger => WEBrick::Log::new("/dev/null", 7))
20
- @server.start
21
- end
22
13
  end
23
14
 
24
15
  before(:each) do
@@ -29,10 +20,6 @@ describe Kristin do
29
20
  FileUtils.rm_rf @target_path
30
21
  end
31
22
 
32
- after(:all) do
33
- @t1.exit
34
- end
35
-
36
23
  describe "#convert" do
37
24
  describe "with no options" do
38
25
  it "should raise error if source file does not exists" do
@@ -55,47 +42,42 @@ describe Kristin do
55
42
  end
56
43
 
57
44
  it "should convert a pdf from an URL" do
58
- Kristin::Converter.new("#{@url}/one.pdf", @target_file, @fast_opts).convert
45
+ url = "http://kristin-test.s3.amazonaws.com/one.pdf"
46
+ Kristin::Converter.new(url, @target_file, @fast_opts).convert
59
47
  File.exists?(@target_file).should == true
60
48
  end
61
49
 
62
50
  it "should raise an error if URL does not exist" do
63
- lambda { Kristin::Converter.new("#{@url}/donotexist.pdf", @target_file).convert }.should raise_error(IOError)
51
+ url = "http://kristin-test.s3.amazonaws.com/image.png"
52
+ lambda { Kristin::Converter.new(url, @target_file).convert }.should raise_error(IOError)
64
53
  end
65
54
 
66
55
  it "should raise an error if URL file is not a real pdf" do
67
- lambda { Kristin::Converter.new("#{@url}/image.png", @target_file).convert }.should raise_error(IOError)
56
+ url = "http://kristin-test.s3.amazonaws.com/image.png"
57
+ lambda { Kristin::Converter.new(url, @target_file).convert }.should raise_error(IOError)
68
58
  end
69
59
  end
70
60
 
71
61
  describe "options" do
72
- it "should be possible to disable outline" do
62
+ it "should be possible to disable sidebar" do
73
63
  Kristin::Converter.new(@large_pdf, @target_file, { process_outline: false }).convert
74
64
  doc = Nokogiri::HTML(File.open(@target_file))
75
- el = doc.css("#pdf-outline").first
65
+ el = doc.css("#sidebar").first
76
66
  el.children.first.text.strip.should be_empty
77
67
  end
78
68
 
79
69
  it "should be possible to specify first page" do
80
70
  Kristin::Converter.new(@multi_page_pdf, @target_file, { first_page: 2 }).convert
81
71
  doc = Nokogiri::HTML(File.open(@target_file))
82
- # Content only present on page 1
83
- content_from_page_1 = doc.search("//span").map(&:content).select {|c| c.include? "Geometric series"}
84
- # Content only present on page 2
85
- content_from_page_2 = doc.search("//span").map(&:content).select {|c| c.include? "Generating functions"}
86
- content_from_page_1.should be_empty
87
- content_from_page_2.should_not be_empty
72
+ doc.css("#pf1").should be_empty
73
+ doc.css("#pf2").should_not be_empty
88
74
  end
89
75
 
90
76
  it "should be possible to specify last page" do
91
77
  Kristin::Converter.new(@multi_page_pdf, @target_file, { last_page: 9 }).convert
92
78
  doc = Nokogiri::HTML(File.open(@target_file))
93
- # Content only present on page 1
94
- content_from_page_1 = doc.search("//span").map(&:content).select {|c| c.include? "Geometric series"}
95
- # Content only present on page 10
96
- content_from_page_10 = doc.search("//span").map(&:content).select {|c| c.include? "William Blake"}
97
- content_from_page_1.should_not be_empty
98
- content_from_page_10.should be_empty
79
+ doc.css("#pf1").should_not be_empty
80
+ doc.css("#pf10").should be_empty
99
81
  end
100
82
 
101
83
  it "should be possible to specify hdpi and vdpi" do
@@ -113,7 +95,7 @@ describe Kristin do
113
95
  it "should be possible to specify fit_width and fit_height" do
114
96
  Kristin::Converter.new(@one_page_pdf, @target_file, { fit_width: 1024, fit_height: 1024 }).convert
115
97
  doc = IO.read(@target_file)
116
- doc.should include("1.292929")
98
+ doc.should include("1.293109")
117
99
  end
118
100
  end
119
101
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kristin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Nyström
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-04-13 00:00:00.000000000 Z
11
+ date: 2013-05-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: spoon